diff --git a/bin/cmd.js b/bin/cmd.js
index <HASH>..<HASH> 100755
--- a/bin/cmd.js
+++ b/bin/cmd.js
@@ -78,8 +78,26 @@ b.on('bundle', function (out) {
 
 if (opts.watch) {
   var w = watchify(b);
-  w.on('update', function () {
-    b.bundle();
+  var bundling = false;
+  var queued = false;
+
+  var bundle = function () {
+    if (!bundling) {
+      bundling = true;
+      b.bundle();
+    } else {
+      queued = true;
+    }
+  };
+  w.on('update', bundle);
+  b.on('bundle', function (out) {
+    out.on('end', function () {
+      bundling = false;
+      if (queued) {
+        queued = false;
+        setImmediate(bundle);
+      }
+    });
   });
 
   process.on('SIGINT', function () {
Avoid concurrent executions when using --watch