diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 883dfa3..7447d13 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -4473,14 +4473,15 @@
             }
         }
 
-        List<String> allowedMccMncs =
-                NetworkScanRequestTracker.getAllowedMccMncsForLocationRestrictedScan(mApp);
-        for (String mccmnc : request.getPlmns()) {
-            if (!allowedMccMncs.contains(mccmnc)) {
-                return new SecurityException("Requested mccmnc " + mccmnc + " is not known to the"
-                        + " device and cannot be scanned for without location access.");
-            }
-        }
+        // STOPSHIP Revisit PLMN check (b/130253962).
+        //List<String> allowedMccMncs =
+        //        NetworkScanRequestTracker.getAllowedMccMncsForLocationRestrictedScan(mApp);
+        //for (String mccmnc : request.getPlmns()) {
+        //    if (!allowedMccMncs.contains(mccmnc)) {
+        //        return new SecurityException("Requested mccmnc " + mccmnc + " is not known to the"
+        //                + " device and cannot be scanned for without location access.");
+        //    }
+        //}
 
         return null;
     }
