Close #4004
diff --git a/system/core/URI.php b/system/core/URI.php
index 2211e36..b6eff1f 100644
--- a/system/core/URI.php
+++ b/system/core/URI.php
@@ -201,7 +201,9 @@
 			return '';
 		}
 
-		$uri = parse_url($_SERVER['REQUEST_URI']);
+		// parse_url() returns false if no host is present, but the path or query string
+		// contains a colon followed by a number
+		$uri = parse_url('dummy'.$_SERVER['REQUEST_URI']);
 		$query = isset($uri['query']) ? $uri['query'] : '';
 		$uri = isset($uri['path']) ? $uri['path'] : '';