diff --git a/core/lib/Drupal/Core/Database/Driver/sqlite/Schema.php b/core/lib/Drupal/Core/Database/Driver/sqlite/Schema.php
index 91105e7..896e0ea 100644
--- a/core/lib/Drupal/Core/Database/Driver/sqlite/Schema.php
+++ b/core/lib/Drupal/Core/Database/Driver/sqlite/Schema.php
@@ -677,15 +677,39 @@ class Schema extends DatabaseSchema {
   }
 
   public function findTables($table_expression) {
-    // Don't add the prefix, $table_expression already includes the prefix.
-    $info = $this->getPrefixInfo($table_expression, FALSE);
+    // Remove prefix from table_expression. Return empty result if table
+    // expression does not start with a known prefix.
+    $info = $this->getPrefixInfo();
+    $pfxlen = strlen($info['schema']);
+    if (substr_compare($info['schema'], $table_expression, 0, $pfxlen) !== 0) {
+      error_log('SQLite: cannot find tables outside the default prefix.');
+      error_log('Offending table_expression: ' . $table_expression);
+      error_log('Default prefix: ' . $info['schema']);
+      debug_print_backtrace();
+      return array();
+    }
+    $pattern = substr($table_expression, $pfxlen);
 
     // Can't use query placeholders for the schema because the query would have
     // to be :prefixsqlite_master, which does not work.
-    $result = db_query("SELECT name FROM " . $info['schema'] . ".sqlite_master WHERE type = :type AND name LIKE :table_name", array(
+    $result = db_query("SELECT name FROM " . $info['schema'] . ".sqlite_master WHERE type = :type AND name LIKE :pattern", array(
       ':type' => 'table',
-      ':table_name' => $info['table'],
+      ':pattern' => $pattern,
     ));
-    return $result->fetchAllKeyed(0, 0);
+
+    // The table prefix needs to be prepended to the table list. Also sqlite
+    // system tables need to be excluded.
+    $tables = array();
+    $hide_tables = array('sqlite_sequence');
+    foreach ($result->fetchAllKeyed(0, 0) as $table) {
+      if (in_array($table, $hide_tables)) {
+        continue;
+      }
+
+      $prefixed_table = $info['schema'] . $table;
+      $tables[$prefixed_table] = $prefixed_table;
+    }
+
+    return $tables;
   }
 }
