diff --git a/cc/cc_test.go b/cc/cc_test.go
index 90ec811..2e6c152 100644
--- a/cc/cc_test.go
+++ b/cc/cc_test.go
@@ -2734,11 +2734,6 @@
 
 func TestIncludeDirectoryOrdering(t *testing.T) {
 	t.Parallel()
-
-	expectedPlatformFlags := []string{
-		"-nostdlibinc",
-	}
-
 	baseExpectedFlags := []string{
 		"${config.ArmThumbCflags}",
 		"${config.ArmCflags}",
@@ -2800,9 +2795,9 @@
 	cstd := []string{"-std=gnu17", "-std=conly"}
 	cppstd := []string{"-std=gnu++20", "-std=cpp", "-fno-rtti"}
 
-	lastNDKFlags := []string{
-		"--sysroot",
-		"out/soong/ndk/sysroot",
+	lastNDKIncludes := []string{
+		"out/soong/ndk/sysroot/usr/include",
+		"out/soong/ndk/sysroot/usr/include/arm-linux-androideabi",
 	}
 
 	lastPlatformIncludes := []string{
@@ -2826,11 +2821,10 @@
 				expectedNDKSTLIncludes,
 				cflags,
 				cstd,
-				lastNDKFlags,
+				lastNDKIncludes,
 				[]string{"${config.NoOverrideGlobalCflags}", "${config.NoOverrideExternalGlobalCflags}"},
 			),
 			expectedPlatform: slices.Concat(
-				expectedPlatformFlags,
 				baseExpectedFlags,
 				expectedTargetPlatformFlags,
 				conly,
@@ -2852,11 +2846,10 @@
 				expectedNDKSTLIncludes,
 				cflags,
 				cppstd,
-				lastNDKFlags,
+				lastNDKIncludes,
 				[]string{"${config.NoOverrideGlobalCflags}", "${config.NoOverrideExternalGlobalCflags}"},
 			),
 			expectedPlatform: slices.Concat(
-				expectedPlatformFlags,
 				baseExpectedFlags,
 				expectedTargetPlatformFlags,
 				cppOnly,
@@ -2876,10 +2869,9 @@
 				[]string{"${config.CommonGlobalAsflags}"},
 				expectedIncludes,
 				expectedNDKSTLIncludes,
-				lastNDKFlags,
+				lastNDKIncludes,
 			),
 			expectedPlatform: slices.Concat(
-				expectedPlatformFlags,
 				baseExpectedFlags,
 				expectedTargetPlatformFlags,
 				[]string{"${config.CommonGlobalAsflags}"},
diff --git a/cc/compiler.go b/cc/compiler.go
index e49de6f..7bba962 100644
--- a/cc/compiler.go
+++ b/cc/compiler.go
@@ -430,14 +430,14 @@
 	}
 
 	if ctx.useSdk() {
+		// TODO: Switch to --sysroot.
 		// The NDK headers are installed to a common sysroot. While a more
 		// typical Soong approach would be to only make the headers for the
 		// library you're using available, we're trying to emulate the NDK
 		// behavior here, and the NDK always has all the NDK headers available.
 		flags.SystemIncludeFlags = append(flags.SystemIncludeFlags,
-			"--sysroot "+getNdkSysrootBase(ctx).String())
-	} else if ctx.Device() {
-		flags.Global.CommonFlags = append(flags.Global.CFlags, "-nostdlibinc")
+			"-isystem "+getCurrentIncludePath(ctx).String(),
+			"-isystem "+getCurrentIncludePath(ctx).Join(ctx, config.NDKTriple(tc)).String())
 	}
 
 	if ctx.InVendorOrProduct() {
diff --git a/cc/config/global.go b/cc/config/global.go
index d63f86d..9d3de6d 100644
--- a/cc/config/global.go
+++ b/cc/config/global.go
@@ -172,6 +172,7 @@
 		"-Werror=address",
 		"-Werror=sequence-point",
 		"-Werror=format-security",
+		"-nostdlibinc",
 	}
 
 	commonGlobalLldflags = []string{
