diff --git a/public/js/user.js b/public/js/user.js
index <HASH>..<HASH> 100644
--- a/public/js/user.js
+++ b/public/js/user.js
@@ -408,7 +408,10 @@ apos.define('apostrophe-workflow', {
       self.skipAllRelated = false;
       self.nextExportHint = [];
       if (!ids.length) {
-        return apos.notify('No modifications to commit.', { type: 'warn', dismiss: true });
+        apos.notify('No modifications to commit.', { type: 'warn', dismiss: true });
+        if (callback) {
+          return callback(null);
+        }
       }
       var leadId = options.leadId || (apos.contextPiece && apos.contextPiece._id) || (apos.pages.page && apos.pages.page._id);
       if (!_.contains(ids, leadId)) {
Fix obvious bug: don't forget to invoke the callback if present and there is no work to do