diff --git a/Source/Plugins/ColorPicker/BuilderPlug.cs b/Source/Plugins/ColorPicker/BuilderPlug.cs
index fe136be8679b6dd55bf42cfd43515d15d03c3c8c..ac1d97a0216632503e8d500a2a0990a41c28a25c 100755
--- a/Source/Plugins/ColorPicker/BuilderPlug.cs
+++ b/Source/Plugins/ColorPicker/BuilderPlug.cs
@@ -172,11 +172,6 @@ namespace CodeImp.DoomBuilder.ColorPicker
 					deselectelement.Selected = false;						
 				}
 			} 
-			else 
-			{
-				form.Dispose();
-				form = null;
-			}
 
 			General.Interface.RedrawDisplay();
 		}
@@ -184,8 +179,6 @@ namespace CodeImp.DoomBuilder.ColorPicker
 		private void form_FormClosed(object sender, FormClosedEventArgs e) 
 		{
 			formLocation = form.Location;
-			form.Dispose();
-			form = null;
 		}
 	}
 }
\ No newline at end of file
diff --git a/Source/Plugins/ColorPicker/Windows/LightColorPicker.cs b/Source/Plugins/ColorPicker/Windows/LightColorPicker.cs
index 8548e3311c730856826f889f6726a85fc4d1f063..c7578d030492f071de3506927fbb50962df6c4b5 100755
--- a/Source/Plugins/ColorPicker/Windows/LightColorPicker.cs
+++ b/Source/Plugins/ColorPicker/Windows/LightColorPicker.cs
@@ -323,8 +323,7 @@ namespace CodeImp.DoomBuilder.ColorPicker.Windows
 		{
 			General.Map.UndoRedo.CreateUndo(description);
 
-			//tricky way to actually store undo information...
-			foreach(Thing t in selection) t.Move(t.Position);
+			foreach (Thing t in selection) t.Fields.BeforeFieldsChange();
 		}
 
 		//this is called only once
diff --git a/Source/Plugins/ColorPicker/Windows/SectorColorPicker.cs b/Source/Plugins/ColorPicker/Windows/SectorColorPicker.cs
index c3e719ebda2ea28259cb8c8fcbc04e90e1f09d53..a077f7d326f5c336022065618264286e337165a0 100755
--- a/Source/Plugins/ColorPicker/Windows/SectorColorPicker.cs
+++ b/Source/Plugins/ColorPicker/Windows/SectorColorPicker.cs
@@ -97,6 +97,8 @@ namespace CodeImp.DoomBuilder.ColorPicker.Windows
 			rbSectorColor.CheckedChanged += rbColor_CheckedChanged;
 			rbFadeColor.CheckedChanged += rbColor_CheckedChanged;
 
+			this.AcceptButton = colorPickerControl1.OkButton;
+			this.CancelButton = colorPickerControl1.CancelButton;
 			Text = "Editing " + rest;
 
 			//cannot fail here :)