diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 783510977..d5f8cfaf5 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -5536,15 +5536,14 @@ ARDOUR_UI::key_event_handler (GdkEventKey* ev, Gtk::Window* event_window)
 	Gtkmm2ext::Bindings* bindings = 0;
 	Gtk::Window* window = 0;
 
-	/* until we get ardour bindings working, we are not handling key
-	 * releases yet.
-	 */
-
-	if (ev->type != GDK_KEY_PRESS) {
-		return false;
-	}
-
 	if (event_window == &_main_window) {
+		/* until we get ardour bindings working, we are not handling key
+		 * releases yet.
+		 */
+
+		if (ev->type != GDK_KEY_PRESS) {
+			return false;
+		}
 
 		window = event_window;
 
diff --git a/gtk2_ardour/plugin_ui.cc b/gtk2_ardour/plugin_ui.cc
index 15600772e..d243ea66c 100644
--- a/gtk2_ardour/plugin_ui.cc
+++ b/gtk2_ardour/plugin_ui.cc
@@ -425,17 +425,7 @@ PluginUIWindow::on_key_press_event (GdkEventKey* event)
 bool
 PluginUIWindow::on_key_release_event (GdkEventKey *event)
 {
-	if (_keyboard_focused) {
-		if (_pluginui) {
-			if (_pluginui->non_gtk_gui()) {
-				_pluginui->forward_key_event (event);
-			}
-			return true;
-		}
-		return false;
-	} else {
-		return true;
-	}
+	return on_key_press_event(event);
 }
 
 void
