diff --git a/platform/provision_drupal.drush.inc b/platform/provision_drupal.drush.inc
index 1df5d8c..ff13ecd 100644
--- a/platform/provision_drupal.drush.inc
+++ b/platform/provision_drupal.drush.inc
@@ -662,8 +662,17 @@ function _provision_drupal_find_modules($scope, $key = '') {
     $files = array_merge($files, drush_scan_directory($path, "/\.module$/", array('.', '..', 'CVS', '.svn'), 0, TRUE, 'name'));
   }
   foreach ($files as $name => $info) {
-    $info_file = sprintf("%s/%s.info", dirname($info->filename), $name);
-    $files[$name]->info = provision_parse_info_file($info_file);
+    if (drush_drupal_major_version() >= 8) {
+      $yaml_file = sprintf("%s/%s.info.yml", dirname($info->filename), $name);
+      $files[$name]->info = Symfony\Component\Yaml\Yaml::parse($yaml_file);
+      if (!empty($files[$name]->info['name'])) {
+        $files[$name]->name = $files[$name]->info['name'];
+      }
+    }
+    else {
+      $info_file = sprintf("%s/%s.info", dirname($info->filename), $name);
+      $files[$name]->info = provision_parse_info_file($info_file);
+    }
     // Skip hidden modules
     if (isset($files[$name]->info['hidden']) && $files[$name]->info['hidden'] != FALSE) {
       unset($files[$name]);
