diff --git a/sdl.c b/sdl.c
index b061c8e..20e45d9 100644
--- a/sdl.c
+++ b/sdl.c
@@ -279,9 +279,9 @@
     sdl_update_caption();
 }
 
-static void sdl_send_mouse_event(void)
+static void sdl_send_mouse_event(int dz)
 {
-    int dx, dy, dz, state, buttons;
+    int dx, dy, state, buttons;
     state = SDL_GetRelativeMouseState(&dx, &dy);
     buttons = 0;
     if (state & SDL_BUTTON(SDL_BUTTON_LEFT))
@@ -290,14 +290,6 @@
         buttons |= MOUSE_EVENT_RBUTTON;
     if (state & SDL_BUTTON(SDL_BUTTON_MIDDLE))
         buttons |= MOUSE_EVENT_MBUTTON;
-    /* XXX: test wheel */
-    dz = 0;
-#ifdef SDL_BUTTON_WHEELUP
-    if (state & SDL_BUTTON(SDL_BUTTON_WHEELUP))
-        dz--;
-    if (state & SDL_BUTTON(SDL_BUTTON_WHEELDOWN))
-        dz++;
-#endif
     kbd_mouse_event(dx, dy, dz, buttons);
 }
 
@@ -426,7 +418,7 @@
             break;
         case SDL_MOUSEMOTION:
             if (gui_grab) {
-                sdl_send_mouse_event();
+                sdl_send_mouse_event(0);
             }
             break;
         case SDL_MOUSEBUTTONDOWN:
@@ -440,7 +432,16 @@
                         sdl_grab_start();
                     }
                 } else {
-                    sdl_send_mouse_event();
+                    int dz;
+                    dz = 0;
+#ifdef SDL_BUTTON_WHEELUP
+                    if (bev->button == SDL_BUTTON_WHEELUP) {
+                        dz = -1;
+                    } else if (bev->button == SDL_BUTTON_WHEELDOWN) {
+                        dz = 1;
+                    }
+#endif               
+                    sdl_send_mouse_event(dz);
                 }
             }
             break;
