 		 */
 		private function saveDiff(immediately:Boolean = false):void
 		{
+			if (!enableLogging.value)
+			{
+				_savePending = false;
+				return;
+			}
+			
 			var currentTime:int = getTimer();
 			
 			// remember how long it's been since the last synchronization

				var combine:Boolean = stepsRemaining > 2;
				var baseDiff:Object = null;
				getCallbackCollection(_subject).delayCallbacks();
				while (stepsRemaining-- > 0)
				{
					if (delta < 0)

				
				_undoActive = delta < 0 && _savePending;
				_redoActive = delta > 0 && _savePending;
				if (!_savePending)
					_prevState = WeaveAPI.SessionManager.getSessionState(_subject);
				getCallbackCollection(this).triggerCallbacks();
			}
		}
