diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc
index 77cfde0..eb394d2 100644
--- a/gtk2_ardour/editor_canvas_events.cc
+++ b/gtk2_ardour/editor_canvas_events.cc
@@ -77,11 +77,15 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
 	switch (direction) {
 	case GDK_SCROLL_UP:
 		if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollZoomHorizontalModifier)) {
-			//for mouse-wheel zoom, force zoom-focus to mouse
-			Editing::ZoomFocus temp_focus = zoom_focus;
-			zoom_focus = Editing::ZoomFocusMouse;
-			temporal_zoom_step (false);
-			zoom_focus = temp_focus;
+			if (Profile->get_mixbus()) {
+				// for mouse-wheel zoom, force zoom-focus to mouse
+				Editing::ZoomFocus temp_focus = zoom_focus;
+				zoom_focus = Editing::ZoomFocusMouse;
+				temporal_zoom_step(false);
+				zoom_focus = temp_focus;
+			} else {
+				temporal_zoom_step (false);
+			}
 			return true;
 		} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollHorizontalModifier)) {
 			direction = GDK_SCROLL_LEFT;
@@ -106,11 +110,15 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
 
 	case GDK_SCROLL_DOWN:
 		if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollZoomHorizontalModifier)) {
-			//for mouse-wheel zoom, force zoom-focus to mouse
-			Editing::ZoomFocus temp_focus = zoom_focus;
-			zoom_focus = Editing::ZoomFocusMouse;
-			temporal_zoom_step (true);
-			zoom_focus = temp_focus;
+			if (Profile->get_mixbus()) {
+				// for mouse-wheel zoom, force zoom-focus to mouse
+				Editing::ZoomFocus temp_focus = zoom_focus;
+				zoom_focus = Editing::ZoomFocusMouse;
+				temporal_zoom_step(true);
+				zoom_focus = temp_focus;
+			} else {
+				temporal_zoom_step(true);
+			}
 			return true;
 		} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::ScrollHorizontalModifier)) {
 			direction = GDK_SCROLL_RIGHT;
