diff --git a/includes/installer/Installer.php b/includes/installer/Installer.php
index 6da4f10..993aeab 100644
--- a/includes/installer/Installer.php
+++ b/includes/installer/Installer.php
@@ -836,26 +836,7 @@ abstract class Installer {
 	protected function envCheckPath() {
 		global $IP;
 		$IP = dirname( dirname( dirname( __FILE__ ) ) );
-
 		$this->setVar( 'IP', $IP );
-
-		// PHP_SELF isn't available sometimes, such as when PHP is CGI but
-		// cgi.fix_pathinfo is disabled. In that case, fall back to SCRIPT_NAME
-		// to get the path to the current script... hopefully it's reliable. SIGH
-		if ( !empty( $_SERVER['PHP_SELF'] ) ) {
-			$path = $_SERVER['PHP_SELF'];
-		} elseif ( !empty( $_SERVER['SCRIPT_NAME'] ) ) {
-			$path = $_SERVER['SCRIPT_NAME'];
-		} elseif ( $this->getVar( 'wgScriptPath' ) ) {
-			// Some kind soul has set it for us already (e.g. debconf)
-			return true;
-		} else {
-			$this->showError( 'config-no-uri' );
-			return false;
-		}
-
-		$uri = preg_replace( '{^(.*)/(mw-)?config.*$}', '$1', $path );
-		$this->setVar( 'wgScriptPath', $uri );
 	}
 
 	/**
diff --git a/includes/installer/WebInstaller.php b/includes/installer/WebInstaller.php
index b75db74..7d30013 100644
--- a/includes/installer/WebInstaller.php
+++ b/includes/installer/WebInstaller.php
@@ -990,6 +990,20 @@ class WebInstaller extends Installer {
 			}
 		}
 
+		// PHP_SELF isn't available sometimes, such as when PHP is CGI but
+		// cgi.fix_pathinfo is disabled. In that case, fall back to SCRIPT_NAME
+		// to get the path to the current script... hopefully it's reliable. SIGH
+		$path = false;
+		if ( !empty( $_SERVER['PHP_SELF'] ) ) {
+			$path = $_SERVER['PHP_SELF'];
+		} elseif ( !empty( $_SERVER['SCRIPT_NAME'] ) ) {
+			$path = $_SERVER['SCRIPT_NAME'];
+		}
+		if ($path !== false) {
+			$uri = preg_replace( '{^(.*)/(mw-)?config.*$}', '$1', $path );
+			$this->setVar( 'wgScriptPath', $uri );
+		}
+
 		return $newValues;
 	}
 
