 				{
 					// if we get here it means the plotter draw function triggered callbacks
 					// and we need to restart the async task.
-					asyncInit();
-					if (shouldBeRendered())
+					if (asyncInit())
 						return asyncIterate(stopTime);
 					else
 						return 1;

			{
				_prevBusyGroupTriggerCounter = _dependencies.triggerCounter;
				
				asyncInit();
				
				// stop immediately if we shouldn't be rendering
				if (!shouldBeRendered())
					return 1;
				
				// stop immediately if the bitmap is invalid

				_pendingKeys = null;
				_recordKeys = null;
			}
			return shouldRender;
		}
		
		private function asyncIterate(stopTime:int):Number
