diff --git a/src/editor/editloop.cpp b/src/editor/editloop.cpp
index f696a1f54..970675572 100644
--- a/src/editor/editloop.cpp
+++ b/src/editor/editloop.cpp
@@ -1274,7 +1274,7 @@ local void EditorCallbackMouse(int x, int y)
 	    EditTiles(Viewport2MapX(TheUI.LastClickedVP, CursorX),
 		Viewport2MapY(TheUI.LastClickedVP, CursorY), TileCursor,
 		TileCursorSize);
-	} else if (EditorState == EditorEditUnit) {
+	} else if (EditorState == EditorEditUnit && CursorBuilding) {
 	    if (CanBuildUnitType(NULL, CursorBuilding,
 		    Viewport2MapX(TheUI.LastClickedVP, CursorX),
 		    Viewport2MapY(TheUI.LastClickedVP, CursorY))) {