diff --git a/src/core.js b/src/core.js
index <HASH>..<HASH> 100644
--- a/src/core.js
+++ b/src/core.js
@@ -800,7 +800,7 @@ jQuery.extend({
 			deferred  = {
 				
 				// then( f1, f2, ...)
-				then: function() {
+				then: function then() {
 					
 					if ( ! cancelled ) {
 					
@@ -820,7 +820,7 @@ jQuery.extend({
 							elem = args[ i ];
 							type = jQuery.type( elem );
 							if ( type === "array" ) {
-								deferred.then.apply( deferred , elem );
+								then.apply( this , elem );
 							} else if ( type === "function" ) {
 								callbacks.push( elem );
 							}
Fixed a loop that only worked in webkit.