diff --git a/PROMS/Volian.Controls.Library/StepPanel.cs b/PROMS/Volian.Controls.Library/StepPanel.cs
index 1c171501..1e7a2f5e 100644
--- a/PROMS/Volian.Controls.Library/StepPanel.cs
+++ b/PROMS/Volian.Controls.Library/StepPanel.cs
@@ -57,6 +57,7 @@ namespace Volian.Controls.Library
 		private Color _TabColor = Color.White;
 		private Color _PanelColor = Color.White;
 #endif
+		internal string _LastAdjust="";
 		private bool _ShowLines = true;
 		private Graphics _MyGraphics = null;
 		private int _DPI = 0;
@@ -293,7 +294,8 @@ namespace Volian.Controls.Library
 			get { return _SelectedStepRTB; }
 			set 
 			{
-				value.BackColor = ActiveColor; // Set the active color
+				if(value != null)
+					value.BackColor = ActiveColor; // Set the active color
 				if (_SelectedStepRTB == value) return; // Same - No Change
 				if (_SelectedStepRTB != null)
 				{
@@ -302,7 +304,7 @@ namespace Volian.Controls.Library
 					_SelectedStepRTB.SaveConfig();		// This may be redundant 
 				}
 				_SelectedStepRTB = value;
-				if (_SelectedItemInfo.ItemID != value.MyItemInfo.ItemID) 
+				if (value != null && _SelectedItemInfo.ItemID != value.MyItemInfo.ItemID) 
 					SelectedItemInfo = value.MyItemInfo;
 				//vlnStackTrace.ShowStack("_DisplayRTB = {0}", _DisplayRTB.MyItem.ItemID);// Show StackTrace
 			}
@@ -378,22 +380,6 @@ namespace Volian.Controls.Library
 		}
 		set { _MyStepPanelSettings = value;}
 	}
-		// TODO: This needs to move to StepItem and use the format for the current section
-		/// 
-		/// Gets the MaxRNO from the StepSectionLayoutData
-		/// 
-		public int MaxRNO
-		{
-			get 
-			{
-				if(_MaxRNO == -1)
-				{
-					int pmode = Convert.ToInt32(_MyStepSectionLayoutData.PMode) - 1;
-					_MaxRNO = Convert.ToInt32( _MyStepSectionLayoutData.MaxRNOTable.Split(",".ToCharArray())[pmode]);
-				}
-				return _MaxRNO; 
-			}
-		}
 		/// 
 		/// Gets or Sets the font for the Panel
 		/// 
@@ -608,7 +594,7 @@ namespace Volian.Controls.Library
 		private ItemInfo BottomPart(ItemInfo ii)
 		{
 			ExpandAsNeeded(ii);
-			if (ii.RNOs != null && ii.RNOLevel >= ii.Columns - 1) return BottomPart(ii.RNOs[0]);
+			if (ii.RNOs != null && ii.RNOLevel >= ii.ColumnMode) return BottomPart(ii.RNOs[0]);
 			if (ii.Sections != null) return BottomPart(ii.Sections[0].LastSibling);
 			if (ii.Steps != null) return BottomPart(ii.Steps[0].LastSibling);
 			return ii;
@@ -653,7 +639,7 @@ namespace Volian.Controls.Library
 		{
 			// if on RNO, check display mode (1 column/2 column, etc) and how deep RNO is before going to
 			// parents substeps.
-			if (ii.IsRNO && ii.MyParent.Steps != null && ii.RNOLevel >= ii.Columns) return BottomPart(ii.MyParent.Steps[0].LastSibling);
+			if (ii.IsRNO && ii.MyParent.Steps != null && ii.RNOLevel >= ii.ColumnMode) return BottomPart(ii.MyParent.Steps[0].LastSibling);
 
 			// If on top note and parent has cautions - go to bottom caution
 			if (ii.IsNoteStructure && ii.MyParent != null && ii.MyParent.Cautions != null) return BottomPart(ii.MyParent.Cautions[0].LastSibling);
@@ -691,7 +677,7 @@ namespace Volian.Controls.Library
 				// (the lookAtSub prevented looping within a substep group at same level)
 				if (lookAtSub && ii.Steps != null) return TopPart(ii.Steps[0]);
 				// RNOs: Use PMode (column)
-				if (lookAtRNO && ii.RNOs != null && ii.RNOLevel >= ii.Columns - 1) return TopPart(ii.RNOs[0]);
+				if (lookAtRNO && ii.RNOs != null && ii.RNOLevel >= ii.ColumnMode) return TopPart(ii.RNOs[0]);
 				// Nextsibling - go to top part of sibling
 				if (ii.NextItems != null) return TopPart(ii.NextItems[0]);
 				// If on caution, if parent has note - go to note
diff --git a/PROMS/Volian.Controls.Library/StepPanel.designer.cs b/PROMS/Volian.Controls.Library/StepPanel.designer.cs
index 8981d435..3fc72f10 100644
--- a/PROMS/Volian.Controls.Library/StepPanel.designer.cs
+++ b/PROMS/Volian.Controls.Library/StepPanel.designer.cs
@@ -15,7 +15,12 @@ namespace Volian.Controls.Library
 		{
 			if (disposing && (components != null))
 			{
-				//if (_DisplayRTB != null) _DisplayRTB.SaveText();
+				SelectedStepRTB = null; // Save Changes
+				foreach (StepItem stepItem in _LookupStepItems.Values)
+				{
+					stepItem.MyItemInfo.ResetParts();
+					stepItem.MyItemInfo.MyContent.RefreshContentParts();
+				}
 				components.Dispose();
 			}
 			base.Dispose(disposing);