diff --git a/src/create.js b/src/create.js
index <HASH>..<HASH> 100644
--- a/src/create.js
+++ b/src/create.js
@@ -48,7 +48,7 @@
 			scope = hub.topicScope(topic, scope);
 		}
 		scope.mix = function () {
-			hub.apply("emit", arguments).then(hub.does.mix(object));
+			return hub.apply("emit", arguments).then(hub.does.mix(object));
 		};
 		var result = args ? fn.apply(scope, args) : fn.call(scope);
 		return hub.mix(object, result);
diff --git a/test/hub/create-test.js b/test/hub/create-test.js
index <HASH>..<HASH> 100644
--- a/test/hub/create-test.js
+++ b/test/hub/create-test.js
@@ -153,7 +153,17 @@ TestCase("CreateMixTest", {
 		hub.create.call(scope, spy);
 		
 		sinon.assert.calledOn(spy, scope);
-	}
+	},
+	
+	"test should return promise": sinon.test(function () {
+		var result;
+		hub.create(function () {
+			result = this.mix("nothing");
+		});
+		
+		assertObject(result);
+		assertFunction(result.then);
+	})
 
 });
this.mix(…) in hub.create now returns a promise.