diff --git a/build/cmake/android-legacy.toolchain.cmake b/build/cmake/android-legacy.toolchain.cmake
index 252a199..1d4e179 100644
--- a/build/cmake/android-legacy.toolchain.cmake
+++ b/build/cmake/android-legacy.toolchain.cmake
@@ -457,10 +457,13 @@
   -fstack-protector-strong
   -no-canonical-prefixes)
 
-if(ANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES)
-  list(APPEND ANDROID_COMPILER_FLAGS -D__BIONIC_NO_PAGE_SIZE_MACRO)
-  if(ANDROID_ABI STREQUAL arm64-v8a OR ANDROID_ABI STREQUAL x86_64)
-    list(APPEND ANDROID_LINKER_FLAGS -Wl,-z,max-page-size=16384)
+if(DEFINED ANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES)
+  if (ANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES)
+    if(ANDROID_ABI STREQUAL arm64-v8a OR ANDROID_ABI STREQUAL x86_64)
+      list(APPEND ANDROID_LINKER_FLAGS -Wl,-z,max-page-size=16384)
+    endif()
+  else()
+    list(APPEND ANDROID_COMPILER_FLAGS -D__BIONIC_DEPRECATED_PAGE_SIZE_MACRO)
   endif()
 endif()
 
diff --git a/build/cmake/flags.cmake b/build/cmake/flags.cmake
index 11acc04..3effe43 100644
--- a/build/cmake/flags.cmake
+++ b/build/cmake/flags.cmake
@@ -30,10 +30,13 @@
   " -fstack-protector-strong"
   " -no-canonical-prefixes")
 
-if(ANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES)
-  string(APPEND _ANDROID_NDK_INIT_CFLAGS " -D__BIONIC_NO_PAGE_SIZE_MACRO")
-  if(ANDROID_ABI STREQUAL arm64-v8a OR ANDROID_ABI STREQUAL x86_64)
-    string(APPEND _ANDROID_NDK_INIT_LDFLAGS " -Wl,-z,max-page-size=16384")
+if(DEFINED ANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES)
+  if (ANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES)
+    if(ANDROID_ABI STREQUAL arm64-v8a OR ANDROID_ABI STREQUAL x86_64)
+      string(APPEND _ANDROID_NDK_INIT_LDFLAGS " -Wl,-z,max-page-size=16384")
+    endif()
+  else()
+    string(APPEND _ANDROID_NDK_INIT_CFLAGS " -D__BIONIC_DEPRECATED_PAGE_SIZE_MACRO")
   endif()
 endif()
 
diff --git a/build/core/build-binary.mk b/build/core/build-binary.mk
index 7940c66..171e451 100644
--- a/build/core/build-binary.mk
+++ b/build/core/build-binary.mk
@@ -132,8 +132,9 @@
 #
 LOCAL_CFLAGS := -DANDROID $(LOCAL_CFLAGS)
 
-ifeq ($(APP_SUPPORT_FLEXIBLE_PAGE_SIZES),true)
-  LOCAL_CFLAGS += -D__BIONIC_NO_PAGE_SIZE_MACRO
+ifeq ($(APP_SUPPORT_FLEXIBLE_PAGE_SIZES),false)
+  LOCAL_CFLAGS += -D__BIONIC_DEPRECATED_PAGE_SIZE_MACRO
+else ifeq ($(APP_SUPPORT_FLEXIBLE_PAGE_SIZES),true)
   ifneq (,$(filter $(APP_ABI),arm64-v8a x86_64))
     LOCAL_LDFLAGS += -Wl,-z,max-page-size=16384
   endif
diff --git a/docs/changelogs/Changelog-r28.md b/docs/changelogs/Changelog-r28.md
index cda64cf..9e22a14 100644
--- a/docs/changelogs/Changelog-r28.md
+++ b/docs/changelogs/Changelog-r28.md
@@ -14,3 +14,10 @@
 ## Announcements
 
 ## Changes
+
+* `PAGE_SIZE` is no longer defined by default for arm64-v8a or x86_64. To
+  re-enable, set `APP_SUPPORT_FLEXIBLE_PAGE_SIZES` (ndk-build) or
+  `ANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES` (CMake) to false. See [Support 16 KB
+  page sizes] for more information.
+
+[Support 16 KB page sizes]: https://developer.android.com/guide/practices/page-sizes
diff --git a/tests/build/alignment_default/test.py b/tests/build/alignment_default/test.py
index c5c4b75..6e05a35 100644
--- a/tests/build/alignment_default/test.py
+++ b/tests/build/alignment_default/test.py
@@ -61,7 +61,7 @@
             return (
                 False,
                 f"LOAD section at {offset:x} has incorrect alignment {alignment:x}. "
-                f"Expected {expected_alignment:x}",
+                f"Expected {expected_alignment:x} ({path})",
             )
     return True, None
 
diff --git a/tests/build/page_size_compat/jni/foo.cpp b/tests/build/page_size_compat/jni/foo.cpp
index 7b404e1..62d4d2f 100644
--- a/tests/build/page_size_compat/jni/foo.cpp
+++ b/tests/build/page_size_compat/jni/foo.cpp
@@ -1,5 +1,11 @@
 #include <sys/user.h>
 
+#if defined(__arm__) || defined(__i386__)
+#if !defined(PAGE_SIZE)
+#error "PAGE_SIZE is not defined"
+#endif
+#else
 #if defined(PAGE_SIZE)
-#error "PAGE_SIZE is defined and should not be"
+#error "PAGE_SIZE is defined but should not be"
+#endif
 #endif
diff --git a/tests/build/page_size_default/jni/foo.cpp b/tests/build/page_size_default/jni/foo.cpp
index 96d34a6..62d4d2f 100644
--- a/tests/build/page_size_default/jni/foo.cpp
+++ b/tests/build/page_size_default/jni/foo.cpp
@@ -1,5 +1,11 @@
 #include <sys/user.h>
 
+#if defined(__arm__) || defined(__i386__)
 #if !defined(PAGE_SIZE)
 #error "PAGE_SIZE is not defined"
 #endif
+#else
+#if defined(PAGE_SIZE)
+#error "PAGE_SIZE is defined but should not be"
+#endif
+#endif
diff --git a/tests/build/page_size_legacy/CMakeLists.txt b/tests/build/page_size_legacy/CMakeLists.txt
new file mode 100644
index 0000000..7e7df62
--- /dev/null
+++ b/tests/build/page_size_legacy/CMakeLists.txt
@@ -0,0 +1,4 @@
+cmake_minimum_required(VERSION 3.22.1)
+project(PageSize LANGUAGES CXX)
+
+add_library(foo STATIC jni/foo.cpp)
diff --git a/tests/build/page_size_legacy/jni/Android.mk b/tests/build/page_size_legacy/jni/Android.mk
new file mode 100644
index 0000000..7ce18d5
--- /dev/null
+++ b/tests/build/page_size_legacy/jni/Android.mk
@@ -0,0 +1,6 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := foo
+LOCAL_SRC_FILES := foo.cpp
+include $(BUILD_STATIC_LIBRARY)
diff --git a/tests/build/page_size_legacy/jni/Application.mk b/tests/build/page_size_legacy/jni/Application.mk
new file mode 100644
index 0000000..8ea6fda
--- /dev/null
+++ b/tests/build/page_size_legacy/jni/Application.mk
@@ -0,0 +1 @@
+APP_SUPPORT_FLEXIBLE_PAGE_SIZES := false
diff --git a/tests/build/page_size_legacy/jni/foo.cpp b/tests/build/page_size_legacy/jni/foo.cpp
new file mode 100644
index 0000000..96d34a6
--- /dev/null
+++ b/tests/build/page_size_legacy/jni/foo.cpp
@@ -0,0 +1,5 @@
+#include <sys/user.h>
+
+#if !defined(PAGE_SIZE)
+#error "PAGE_SIZE is not defined"
+#endif
diff --git a/tests/build/page_size_legacy/test_config.py b/tests/build/page_size_legacy/test_config.py
new file mode 100644
index 0000000..3169de2
--- /dev/null
+++ b/tests/build/page_size_legacy/test_config.py
@@ -0,0 +1,2 @@
+def extra_cmake_flags() -> list[str]:
+    return ["-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=OFF"]
