diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc
index f8b08d2..e89ef28 100644
--- a/gtk2_ardour/editor_drag.cc
+++ b/gtk2_ardour/editor_drag.cc
@@ -156,6 +156,11 @@ DragManager::end_grab (GdkEvent* e)
 		if (t) {
 			r = true;
 		}
+
+		if (_drags.empty()) {
+			break;
+		}
+
 		delete *i;
 	}
 
@@ -315,8 +320,10 @@ Drag::end_grab (GdkEvent* event)
 
 	finished (event, _move_threshold_passed);
 
-	_editor->verbose_cursor()->hide ();
-	_cursor_ctx.reset();
+	if (_drags->active()) {
+		_editor->verbose_cursor()->hide ();
+		_cursor_ctx.reset();
+	}
 
 	return _move_threshold_passed;
 }
