 			// Note it should wipe TWO commands from history, 
             // replacing the first with new
 			Assert.assertEquals(_testHistory.currentPosition, 3);
-			_testHistory.rewind();
-			_testHistory.push(new UndoableCommand());
-			Assert.assertEquals(_testHistory.currentPosition, 1);
-			
-		
-		}
-		
-		
-		[Test]
-		// Ensure pushing a command to the middle of the
-		// history, wipes subsequent history
+			Assert.assertTrue(_testHistory.canStepBackward);
+			Assert.assertFalse(_testHistory.canStepForward);
+			_testHistory.rewind();
+			Assert.assertFalse(_testHistory.canStepBackward);
+			Assert.assertTrue(_testHistory.canStepForward);
+			_testHistory.push(new UndoableCommand());
+			Assert.assertEquals(_testHistory.currentPosition, 1);
+			Assert.assertTrue(_testHistory.canStepBackward);
+			Assert.assertFalse(_testHistory.canStepForward);
+			
+		
+		}
+		
+		
+		[Test]
+		// Test forward/back/position settings while
+		// moving backwards & forwards
 		public function testComprehensive():void {
 			Assert.assertEquals(_testHistory.currentPosition, 0);
 			Assert.assertFalse(_testHistory.canStepBackward);

			_testHistory.push(new UndoableCommand());
			Assert.assertTrue(_testHistory.canStepBackward);
			_testHistory.rewind();
			Assert.assertFalse(_testHistory.canStepBackward);
			Assert.assertFalse(_testHistory.canStepBackward);
			Assert.assertFalse(_testHistory.canStepBackward);

			Assert.assertFalse(_testHistory.canStepForward);
			Assert.assertTrue(_testHistory.canStepBackward);
		}
	}
}