diff --git a/tests/cts/net/src/android/net/wifi/cts/WifiConfigurationTest.java b/tests/cts/net/src/android/net/wifi/cts/WifiConfigurationTest.java
index 92a55b2..4480a24 100644
--- a/tests/cts/net/src/android/net/wifi/cts/WifiConfigurationTest.java
+++ b/tests/cts/net/src/android/net/wifi/cts/WifiConfigurationTest.java
@@ -38,10 +38,12 @@
             return;
         }
         List<WifiConfiguration> wifiConfigurations = mWifiManager.getConfiguredNetworks();
-        for (int i = 0; i < wifiConfigurations.size(); i++) {
-            WifiConfiguration wifiConfiguration = wifiConfigurations.get(i);
-            assertNotNull(wifiConfiguration);
-            assertNotNull(wifiConfiguration.toString());
+        if (wifiConfigurations != null) {
+            for (int i = 0; i < wifiConfigurations.size(); i++) {
+                WifiConfiguration wifiConfiguration = wifiConfigurations.get(i);
+                assertNotNull(wifiConfiguration);
+                assertNotNull(wifiConfiguration.toString());
+            }
         }
     }
 }
