 				recursionCount++;
 				
 				callback.apply(context === CONTEXT_PLACEHOLDER ? callback['this'] : context);
+				handled = true;
 				
 				recursionCount--;
 			}
-			// avoid delayed recursion
-			triggeredAgain = false;
 		}
 		
 		override public function dispose():void

		}
		
		/**
		 * If true, the callback was triggered this frame.
		 */
		public var triggered:Boolean = false;

				_triggeredEntries.push(this);
				triggered = true;
			}
			else if (handled && !triggeredAgain)
			{
				// triggered again after being handled
				_triggeredEntries.push(this);
				triggeredAgain = true;
			}
		}
		
		/**
