diff --git a/lib/index.js b/lib/index.js
index <HASH>..<HASH> 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -7,6 +7,7 @@ var packageLicense = require('package-license');
 var path = require('path');
 
 var output = {};
+var completed = [];
 exports.init = function(options, callback){
     // read .bowerrc
     if (fs.existsSync('.bowerrc')){
@@ -73,7 +74,8 @@ exports.init = function(options, callback){
                         moduleInfo.licenses = _.uniq(moduleInfo.licenses);
                     }
 
-                    if (Object.keys(output).length === packages.length){
+                    completed.push(package);
+                    if (completed.length === packages.length){
                         callback(output);
                     }
                 });
Fix hangs when a package is installed multiple times, under different names.

see AceMetrix/bower-license#9