diff --git a/scripts/graduate.js b/scripts/graduate.js
index 3e8e058e81bd244e5a71a42051ad78b6a0414734..b0c7f99c7b6964da9ff74aeb5f3a96400825c428 100644
--- a/scripts/graduate.js
+++ b/scripts/graduate.js
@@ -9,8 +9,9 @@
 
 var fs = require('fs');
 var path = require('path');
+var spawnSync = require('child_process').spawnSync;
 
-console.log('Extracting scripts...');
+console.log('Graduating...');
 console.log();
 
 var selfPath = path.join(__dirname, '..');
@@ -65,11 +66,16 @@ Object.keys(hostPackage.scripts).forEach(function (key) {
 });
 delete hostPackage.scripts['graduate'];
 
-console.log('Writing package.json...');
+console.log('Writing package.json');
 fs.writeFileSync(
   path.join(hostPath, 'package.json'),
   JSON.stringify(hostPackage, null, 2)
 );
+console.log();
 
+console.log('Running npm install...');
+spawnSync('rm', ['-rf', selfPath]);
+spawnSync('npm', ['install'], {stdio: 'inherit'});
 console.log();
+
 console.log('Done!');