diff --git a/tests/tests/permission/src/android/permission/cts/NoExecutePermissionTest.java b/tests/tests/os/src/android/os/cts/NoExecutePermissionTest.java
similarity index 81%
rename from tests/tests/permission/src/android/permission/cts/NoExecutePermissionTest.java
rename to tests/tests/os/src/android/os/cts/NoExecutePermissionTest.java
index 5c0a4c3..6450e58 100644
--- a/tests/tests/permission/src/android/permission/cts/NoExecutePermissionTest.java
+++ b/tests/tests/os/src/android/os/cts/NoExecutePermissionTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package android.permission.cts;
+package android.os.cts;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -29,6 +29,10 @@
 public class NoExecutePermissionTest extends TestCase {
 
     public void testNoExecutePermission() throws FileNotFoundException {
+        if (!cpuHasNxSupport()) {
+            return;
+        }
+
         String heapPermissions = null;
         String stackPermissions = null;
 
@@ -62,4 +66,16 @@
         assertEquals("NX (No Execute) not enabled for heap", "rw-p", heapPermissions);
         assertEquals("NX (No Execute) not enabled for stack", "rw-p", stackPermissions);
     }
+
+    private static boolean cpuHasNxSupport() {
+        if (CpuFeatures.isArmCpu() && !CpuFeatures.isArm7Compatible()) {
+            // ARM processors before v7 do not have NX support.
+            // http://code.google.com/p/android/issues/detail?id=17328
+            return false;
+        }
+
+        // TODO: handle other processors.  For now, assume those processors
+        // have NX support.
+        return true;
+    }
 }
