diff --git a/src/com/android/settings/wifi/WifiSettings2.java b/src/com/android/settings/wifi/WifiSettings2.java
index 9bf5c72..3b18f5a 100644
--- a/src/com/android/settings/wifi/WifiSettings2.java
+++ b/src/com/android/settings/wifi/WifiSettings2.java
@@ -544,14 +544,9 @@
             final WifiEntry selectedEntry =
                     ((LongPressWifiEntryPreference) preference).getWifiEntry();
 
-            // If the clicked WiFi entry is never connected, launch Wi-Fi edit UI to edit password.
-            if (selectedEntry.getSecurity() != WifiEntry.SECURITY_NONE
-                    && selectedEntry.getSecurity() != WifiEntry.SECURITY_OWE) {
-                final WifiConfiguration config = selectedEntry.getWifiConfiguration();
-                if (config != null && !config.getNetworkSelectionStatus().hasEverConnected()) {
-                    launchConfigNewNetworkFragment(selectedEntry);
-                    return true;
-                }
+            if (selectedEntry.shouldEditBeforeConnect()) {
+                launchConfigNewNetworkFragment(selectedEntry);
+                return true;
             }
 
             connect(selectedEntry, true /* editIfNoConfig */, true /* fullScreenEdit */);
