diff --git a/core/includes/install.inc b/core/includes/install.inc
index c5b93b5..e40c504 100644
--- a/core/includes/install.inc
+++ b/core/includes/install.inc
@@ -6,6 +6,7 @@
  */
 
 use Drupal\Component\Utility\Unicode;
+use Drupal\Core\Extension\ModuleHandler;
 use Symfony\Component\HttpFoundation\RedirectResponse;
 use Drupal\Component\Utility\Crypt;
 use Drupal\Component\Utility\OpCodeCache;
@@ -569,8 +570,16 @@ function drupal_verify_profile($install_state) {
   // after all the other dependencies have been installed.
   $present_modules[] = $profile;
 
+  // The list of dependencies might be in [project:module] format instead of
+  // just [module], so simplify the list.
+  $dependencies = array();
+  foreach ($info['dependencies'] as $dependency) {
+    $parsed = ModuleHandler::parseDependency($dependency);
+    $dependencies[] = $parsed['name'];
+  }
+
   // Verify that all of the profile's required modules are present.
-  $missing_modules = array_diff($info['dependencies'], $present_modules);
+  $missing_modules = array_diff($dependencies, $present_modules);
 
   $requirements = [];
 
