 				castedQuery = query;
 			}
 
-			castedQuery.then(hookHandler.bind(this, methodName, parameters));
+			castedQuery.then(hookHandler.bind(this, methodName, parameters), interceptFault);
 			
 			if (!queued)
 				service.invokeDeferred(query);

		{
			var query:WeavePromise/*/<any>/*/ = service.invokeAsyncMethod(methodName, parameters);
			var castedQuery:WeavePromise;
			query.then(null, interceptFault.bind(this, query)); /* query? */
			
			if (queued)
				queue.addToQueue(query, service);

			PREVENT_FAULT_ALERT.set(query, true);
		}
		
		private function interceptFault(error:*):void
		{
			// if user has been signed out, clear the queue immediately
			//JS.error(error);
