diff --git a/ui/mouse.cpp b/ui/mouse.cpp
index 675ff8495..970279f3f 100644
--- a/ui/mouse.cpp
+++ b/ui/mouse.cpp
@@ -870,6 +870,13 @@ global void UIHandleButtonDown(int b)
 	    }
 	    return;
 	}
+	if( CursorOn==CursorOnButton ) {
+	    // FIXME: other buttons?
+	    if( ButtonUnderCursor>9 ) {
+		DoButtonButtonClicked(ButtonUnderCursor-10);
+		return;
+	    }
+	}
 	ClearStatusLine();
 	ClearCosts();
 	CursorState=CursorStatePoint;