diff --git a/src/vte.c b/src/vte.c
index 27a9fa7..74831f0 100644
--- a/src/vte.c
+++ b/src/vte.c
@@ -5466,7 +5466,8 @@ vte_terminal_key_press(GtkWidget *widget, GdkEventKey *event)
 		/* Keypad/motion keys. */
 		case GDK_KEY (KP_Up):
 		case GDK_KEY (Up):
-			if (modifiers & GDK_CONTROL_MASK 
+			if (terminal->pvt->screen == &terminal->pvt->normal_screen
+			    && modifiers & GDK_CONTROL_MASK 
                             && modifiers & GDK_SHIFT_MASK) {
 				vte_terminal_scroll_lines(terminal, -1);
 				scrolled = TRUE;
@@ -5476,7 +5477,8 @@ vte_terminal_key_press(GtkWidget *widget, GdkEventKey *event)
 			break;
 		case GDK_KEY (KP_Down):
 		case GDK_KEY (Down):
-			if (modifiers & GDK_CONTROL_MASK
+			if (terminal->pvt->screen == &terminal->pvt->normal_screen
+			    && modifiers & GDK_CONTROL_MASK
                             && modifiers & GDK_SHIFT_MASK) {
 				vte_terminal_scroll_lines(terminal, 1);
 				scrolled = TRUE;
@@ -5486,7 +5488,8 @@ vte_terminal_key_press(GtkWidget *widget, GdkEventKey *event)
 			break;
 		case GDK_KEY (KP_Page_Up):
 		case GDK_KEY (Page_Up):
-			if (modifiers & GDK_SHIFT_MASK) {
+			if (terminal->pvt->screen == &terminal->pvt->normal_screen
+			    && modifiers & GDK_SHIFT_MASK) {
 				vte_terminal_scroll_pages(terminal, -1);
 				scrolled = TRUE;
 				handled = TRUE;
@@ -5495,7 +5498,8 @@ vte_terminal_key_press(GtkWidget *widget, GdkEventKey *event)
 			break;
 		case GDK_KEY (KP_Page_Down):
 		case GDK_KEY (Page_Down):
-			if (modifiers & GDK_SHIFT_MASK) {
+			if (terminal->pvt->screen == &terminal->pvt->normal_screen
+			    && modifiers & GDK_SHIFT_MASK) {
 				vte_terminal_scroll_pages(terminal, 1);
 				scrolled = TRUE;
 				handled = TRUE;
@@ -5504,7 +5508,8 @@ vte_terminal_key_press(GtkWidget *widget, GdkEventKey *event)
 			break;
 		case GDK_KEY (KP_Home):
 		case GDK_KEY (Home):
-			if (modifiers & GDK_SHIFT_MASK) {
+			if (terminal->pvt->screen == &terminal->pvt->normal_screen
+			    && modifiers & GDK_SHIFT_MASK) {
 				vte_terminal_maybe_scroll_to_top(terminal);
 				scrolled = TRUE;
 				handled = TRUE;
@@ -5512,7 +5517,8 @@ vte_terminal_key_press(GtkWidget *widget, GdkEventKey *event)
 			break;
 		case GDK_KEY (KP_End):
 		case GDK_KEY (End):
-			if (modifiers & GDK_SHIFT_MASK) {
+			if (terminal->pvt->screen == &terminal->pvt->normal_screen
+			    && modifiers & GDK_SHIFT_MASK) {
 				vte_terminal_maybe_scroll_to_bottom(terminal);
 				scrolled = TRUE;
 				handled = TRUE;
