diff --git a/core/includes/file.inc b/core/includes/file.inc
index 26dfb64..01de099 100644
--- a/core/includes/file.inc
+++ b/core/includes/file.inc
@@ -373,16 +373,15 @@ function file_stream_wrapper_uri_normalize($uri) {
  *   (Drupal\Core\StreamWrapper\PrivateStream).
  */
 function file_stream_wrapper_get_instance_by_uri($uri) {
-  $scheme = file_uri_scheme($uri);
-  $class = file_stream_wrapper_get_class($scheme);
-  if (class_exists($class)) {
-    $instance = new $class();
-    $instance->setUri($uri);
-    return $instance;
-  }
-  else {
-    return FALSE;
+  if ($scheme = file_uri_scheme($uri)) {
+    $class = file_stream_wrapper_get_class($scheme);
+    if (class_exists($class)) {
+      $instance = new $class();
+      $instance->setUri($uri);
+      return $instance;
+    }
   }
+  return FALSE;
 }
 
 /**
@@ -500,7 +499,8 @@ function file_create_url($uri) {
  *   otherwise.
  */
 function file_prepare_directory(&$directory, $options = FILE_MODIFY_PERMISSIONS) {
-  if (!file_stream_wrapper_valid_scheme(file_uri_scheme($directory))) {
+  $scheme = file_uri_scheme($directory);
+  if (!$scheme || !file_stream_wrapper_valid_scheme($scheme)) {
     // Only trim if we're not dealing with a stream.
     $directory = rtrim($directory, '/\\');
   }
