diff --git a/bootstrap.js b/bootstrap.js
index <HASH>..<HASH> 100644
--- a/bootstrap.js
+++ b/bootstrap.js
@@ -59,6 +59,8 @@ module.exports = function(grunt) {
   tasksDefault.push('scaffold');
 
   if (grunt.file.exists('./composer.lock') && grunt.config.get(['composer', 'install'])) {
+    // Manually run `composer drupal-scaffold` since this is only automatically run on update.
+    tasksDefault.unshift('composer:drupal-scaffold');
     // Run `composer install` if there is already a lock file. Updates should be explicit once this file exists.
     tasksDefault.unshift('composer:install');
   }
diff --git a/tasks/composer.js b/tasks/composer.js
index <HASH>..<HASH> 100644
--- a/tasks/composer.js
+++ b/tasks/composer.js
@@ -29,6 +29,7 @@ module.exports = function(grunt) {
         ],
       }
     });
+    grunt.config(['composer', 'drupal-scaffold'], {});
 
     Help.add({
       task: 'composer',
Run `composer drupal-scaffold` after `composer install`