diff --git a/src/os_win32.c b/src/os_win32.c
index 5c845c6..03b3ac0 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -1231,7 +1231,6 @@
 }
 # endif
 
-#ifdef VIMDLL
 /*
  * Win32 console mouse scroll event handler.
  * Loosely based on the _OnMouseWheel() function in gui_w32.c
@@ -1264,10 +1263,8 @@
     g_yMouse = pmer->dwMousePosition.Y;
 
 #ifdef FEAT_PROP_POPUP
-    int lcol;
-    int lrow;
-    lcol = g_xMouse;
-    lrow = g_yMouse;
+    int lcol = g_xMouse;
+    int lrow = g_yMouse;
     wp = mouse_find_win(&lrow, &lcol, FAIL_POPUP);
     if (wp != NULL && popup_is_popup(wp))
     {
@@ -1312,9 +1309,9 @@
 
     // Decode the win32 console key modifers into Vim mouse modifers.
     if (pmer->dwControlKeyState & SHIFT_PRESSED)
-	modifiers |= MOD_MASK_SHIFT; //MOUSE_SHIFT;
+	modifiers |= MOD_MASK_SHIFT; // MOUSE_SHIFT;
     if (pmer->dwControlKeyState & (RIGHT_CTRL_PRESSED | LEFT_CTRL_PRESSED))
-	modifiers |= MOD_MASK_CTRL; //MOUSE_CTRL;
+	modifiers |= MOD_MASK_CTRL; // MOUSE_CTRL;
     if (pmer->dwControlKeyState & (RIGHT_ALT_PRESSED  | LEFT_ALT_PRESSED))
 	modifiers |= MOD_MASK_ALT; // MOUSE_ALT;
 
@@ -1324,7 +1321,6 @@
 
     return;
 }
-#endif
 
 /*
  * Decode a MOUSE_EVENT.  If it's a valid event, return MOUSE_LEFT,
@@ -1395,17 +1391,17 @@
 	return FALSE;
     }
 
-    // unprocessed mouse click?
+    // If there is an unprocessed mouse click drop this one.
     if (g_nMouseClick != -1)
 	return TRUE;
-#ifdef VIMDLL
+
     if (pmer->dwEventFlags == MOUSE_WHEELED
 				       || pmer->dwEventFlags == MOUSE_HWHEELED)
     {
 	decode_mouse_wheel(pmer);
 	return TRUE;  // we now should have a mouse scroll in g_nMouseClick
     }
-#endif
+
     nButton = -1;
     g_xMouse = pmer->dwMousePosition.X;
     g_yMouse = pmer->dwMousePosition.Y;
