 				immediateMode = triggerCallbackNow;
 				triggerCallbackNow = callback;
 				callback = relevantContext as Function;
-				relevantContext = this;
+				relevantContext = null;
 			}
 			
 			var object:ILinkableObject = getObject();

			if (!object)
				throw new Error("No ILinkableObject from which to remove a callback: " + this);
			
			// backwareds compatibility
			if (arguments.length == 1)
			{
				callback = relevantContext as Function;
				relevantContext = null;
			}
			
			Weave.getCallbacks(object).removeCallback(relevantContext, callback);
			return this;
		}
		

				throw new Error("No ILinkableObject to which to add a callback: " + this);
			
			if (immediateMode)
				Weave.getCallbacks(object).addImmediateCallback(relevantContext || this, callback, triggerCallbackNow, false);
			else
				Weave.getCallbacks(object).addGroupedCallback(relevantContext || this, callback, triggerCallbackNow, delayWhileBusy);
			return this;
		}
		
