 		
 		private function handlePrimaryTransform():void
 		{
-			if (_primary && _secondary)
+			// if callbacks are delayed, it means we're loading a session state, so we don't want to apply the transform.
+			if (!_callbacks.callbacksAreDelayed && _primary && _secondary)
 				primaryCallback();
 		}
 		
 		private function handleSecondaryTransform():void
 		{
-			if (_primary && _secondary)
+			// if callbacks are delayed, it means we're loading a session state, so we don't want to apply the transform.
+			if (!_callbacks.callbacksAreDelayed && _primary && _secondary)
 				secondaryCallback();
 		}
 		

				}
				catch (e:Error)
				{
					WeaveAPI.ErrorManager.reportError(e, "Error in secondaryTransform: " + e.message);
				}
			}
			else if (!primaryTransform.value)

					WeaveAPI.SessionManager.getCallbackCollection(_secondary).addImmediateCallback(this, secondaryCallback);
					WeaveAPI.SessionManager.getCallbackCollection(_primary).addImmediateCallback(this, primaryCallback);
					
					// if primaryTransform is not given but secondaryTransform is, call secondaryCallback.
					// otherwise, call primaryCallback.
					if (!primaryTransform.value && secondaryTransform.value)
						secondaryCallback();
					else
