diff --git a/core/lib/Drupal/Core/Extension/ModuleHandler.php b/core/lib/Drupal/Core/Extension/ModuleHandler.php
index 028d7d4..3bdd72a 100644
--- a/core/lib/Drupal/Core/Extension/ModuleHandler.php
+++ b/core/lib/Drupal/Core/Extension/ModuleHandler.php
@@ -11,6 +11,7 @@
 use Drupal\Component\Serialization\Yaml;
 use Drupal\Component\Utility\NestedArray;
 use Drupal\Component\Utility\String;
+use Drupal\Core\Cache\Cache;
 use Drupal\Core\Cache\CacheBackendInterface;
 use Drupal\Core\DrupalKernelInterface;
 
@@ -1028,6 +1029,14 @@ public function uninstall(array $module_list, $uninstall_dependents = TRUE) {
     // Let other modules react.
     $this->invokeAll('modules_uninstalled', array($module_list));
 
+    // Flush all persistent caches.
+    // This is executed based on old/previously known information, which is
+    // sufficient, since new extensions cannot have any primed caches yet.
+    $this->invokeAll('cache_flush');
+    foreach (Cache::getBins() as $service_id => $cache_backend) {
+      $cache_backend->deleteAll();
+    }
+
     return TRUE;
   }
 
