diff --git a/tests/tests/view/src/android/view/cts/util/DisableFixToUserRotationRule.java b/tests/tests/view/src/android/view/cts/util/DisableFixToUserRotationRule.java
index 43bc27c..36b6314 100644
--- a/tests/tests/view/src/android/view/cts/util/DisableFixToUserRotationRule.java
+++ b/tests/tests/view/src/android/view/cts/util/DisableFixToUserRotationRule.java
@@ -17,6 +17,7 @@
 package android.view.cts.util;
 
 import android.app.UiAutomation;
+import android.content.pm.PackageManager;
 import android.os.ParcelFileDescriptor;
 import android.util.Log;
 
@@ -35,9 +36,16 @@
     private static final String COMMAND = "cmd window set-fix-to-user-rotation ";
 
     private final UiAutomation mUiAutomation;
+    private final boolean mSupportsRotation;
 
     public DisableFixToUserRotationRule() {
         mUiAutomation = InstrumentationRegistry.getInstrumentation().getUiAutomation();
+        PackageManager pm = InstrumentationRegistry
+                .getInstrumentation()
+                .getContext()
+                .getPackageManager();
+        mSupportsRotation = pm.hasSystemFeature(PackageManager.FEATURE_SCREEN_LANDSCAPE)
+                && pm.hasSystemFeature(PackageManager.FEATURE_SCREEN_PORTRAIT);
     }
 
     @Override
@@ -45,11 +53,15 @@
         return new Statement() {
             @Override
             public void evaluate() throws Throwable {
-                executeShellCommandAndPrint(COMMAND + "disabled");
+                if (mSupportsRotation) {
+                    executeShellCommandAndPrint(COMMAND + "disabled");
+                }
                 try {
                     base.evaluate();
                 } finally {
-                    executeShellCommandAndPrint(COMMAND + "default");
+                    if (mSupportsRotation) {
+                        executeShellCommandAndPrint(COMMAND + "default");
+                    }
                 }
             }
         };
diff --git a/tests/tests/wifi/src/android/net/wifi/cts/WifiManagerTest.java b/tests/tests/wifi/src/android/net/wifi/cts/WifiManagerTest.java
index 61c9f84..64326ea 100644
--- a/tests/tests/wifi/src/android/net/wifi/cts/WifiManagerTest.java
+++ b/tests/tests/wifi/src/android/net/wifi/cts/WifiManagerTest.java
@@ -2138,7 +2138,7 @@
             disabledNetworkIds.remove(currentNetwork.getNetworkId());
 
             // PNO should reconnect us back to the network we disconnected from
-            waitForConnection();
+            waitForConnection(WIFI_PNO_CONNECT_TIMEOUT_MILLIS);
         } finally {
             // re-enable disabled networks
             for (int disabledNetworkId : disabledNetworkIds) {
