diff --git a/includes/file.inc b/includes/file.inc
index 4f7a4c3befb89e67fd86b71a1c67b7d6b229b03b..9fbd5572e8431ad1eba78b5fe2d5f8f85fa0d1dc 100644
--- a/includes/file.inc
+++ b/includes/file.inc
@@ -202,9 +202,8 @@ function file_stream_wrapper_get_class($scheme) {
  * @see file_uri_target()
  */
 function file_uri_scheme($uri) {
-  $data = explode('://', $uri, 2);
-
-  return count($data) == 2 ? $data[0] : FALSE;
+  $position = strpos($uri, '://');
+  return $position ? substr($uri, 0, $position) : FALSE;
 }
 
 /**