diff --git a/src/totem-fullscreen.c b/src/totem-fullscreen.c
index b64f4d2..d7e9d3e 100644
--- a/src/totem-fullscreen.c
+++ b/src/totem-fullscreen.c
@@ -256,15 +256,22 @@ gboolean
 totem_fullscreen_motion_notify (GtkWidget *widget, GdkEventMotion *event,
 				TotemFullscreen *fs)
 {
+	totem_fullscreen_show_popups (fs, TRUE);
+	return FALSE;
+}
+
+void
+totem_fullscreen_show_popups (TotemFullscreen *fs, gboolean show_cursor)
+{
 	GtkWidget *item;
 
 	g_assert (fs->is_fullscreen != FALSE);
 
 	if (fs->priv->popup_in_progress != FALSE)
-		return FALSE;
+		return;
 
 	if (gtk_window_is_active (GTK_WINDOW (fs->priv->parent_window)) == FALSE)
-		return FALSE;
+		return;
 
 	fs->priv->popup_in_progress = TRUE;
 
@@ -281,15 +288,15 @@ totem_fullscreen_motion_notify (GtkWidget *widget, GdkEventMotion *event,
 	gtk_widget_show_all (fs->priv->exit_popup);
 	gtk_widget_show_all (fs->priv->control_popup);
 
-	/* Show the mouse cursor */
-	totem_fullscreen_set_cursor (fs, TRUE);
+	if (show_cursor != FALSE) {
+		/* Show the mouse cursor */
+		totem_fullscreen_set_cursor (fs, TRUE);
+	}
 
 	/* Reset the popup timeout */
 	totem_fullscreen_popup_timeout_add (fs);
 
 	fs->priv->popup_in_progress = FALSE;
-
-	return FALSE;
 }
 
 void
diff --git a/src/totem-fullscreen.h b/src/totem-fullscreen.h
index c2e0dfa..24a4781 100644
--- a/src/totem-fullscreen.h
+++ b/src/totem-fullscreen.h
@@ -72,9 +72,8 @@ void     totem_fullscreen_set_video_widget   (TotemFullscreen *fs,
 					      BaconVideoWidget *bvw);
 void     totem_fullscreen_set_parent_window  (TotemFullscreen *fs,
 					      GtkWindow *parent_window);
-gboolean totem_fullscreen_motion_notify      (GtkWidget *widget,
-					      GdkEventMotion *event,
-					      TotemFullscreen *fs);
+void     totem_fullscreen_show_popups        (TotemFullscreen *fs,
+					      gboolean show_cursor);
 gboolean totem_fullscreen_is_fullscreen      (TotemFullscreen *fs);
 void     totem_fullscreen_set_fullscreen     (TotemFullscreen *fs,
 					      gboolean fullscreen);
diff --git a/src/totem.c b/src/totem.c
index 4827e08..e5a1f85 100644
--- a/src/totem.c
+++ b/src/totem.c
@@ -2371,7 +2371,7 @@ totem_action_remote (Totem *totem, TotemRemoteCommand cmd, const char *url)
 	if (handled != FALSE
 			&& gtk_window_is_active (GTK_WINDOW (totem->win))
 			&& totem_fullscreen_is_fullscreen (totem->fs) != FALSE) {
-		totem_fullscreen_motion_notify (NULL, NULL, totem->fs);
+		totem_fullscreen_show_popups (totem->fs, TRUE);
 	}
 }
 
@@ -2577,7 +2577,7 @@ static void
 on_mouse_click_fullscreen (GtkWidget *widget, Totem *totem)
 {
 	if (totem_fullscreen_is_fullscreen (totem->fs) != FALSE)
-		totem_fullscreen_motion_notify (NULL, NULL, totem->fs);
+		totem_fullscreen_show_popups (totem->fs, TRUE);
 }
 
 static gboolean
@@ -2804,16 +2804,19 @@ totem_action_handle_key_press (Totem *totem, GdkEventKey *event)
 			totem_action_fullscreen (totem, FALSE);
 		break;
 	case GDK_Left:
-		if (gtk_widget_get_direction (totem->win) == GTK_TEXT_DIR_RTL)
-			totem_action_handle_seek (totem, event, TRUE);
-		else
-			totem_action_handle_seek (totem, event, FALSE);
-		break;
 	case GDK_Right:
-		if (gtk_widget_get_direction (totem->win) == GTK_TEXT_DIR_RTL)
-			totem_action_handle_seek (totem, event, FALSE);
-		else
-			totem_action_handle_seek (totem, event, TRUE);
+		{
+			gboolean is_forward;
+
+			if (totem_is_fullscreen (totem) != FALSE)
+				totem_fullscreen_show_popups (totem->fs, FALSE);
+
+			is_forward = (event->keyval == GDK_Right);
+			/* Switch direction in RTL environment */
+			if (gtk_widget_get_direction (totem->win) == GTK_TEXT_DIR_RTL)
+				is_forward = !is_forward;
+			totem_action_handle_seek (totem, event, is_forward);
+		}
 		break;
 	case GDK_space:
 		if (totem_is_fullscreen (totem) != FALSE || gtk_widget_is_focus (GTK_WIDGET (totem->bvw)) != FALSE)
@@ -2904,7 +2907,7 @@ totem_action_handle_scroll (Totem *totem, GdkScrollDirection direction)
 	gboolean retval = TRUE;
 
 	if (totem_fullscreen_is_fullscreen (totem->fs) != FALSE)
-		totem_fullscreen_motion_notify (NULL, NULL, totem->fs);
+		totem_fullscreen_show_popups (totem->fs, TRUE);
 
 	switch (direction) {
 	case GDK_SCROLL_UP:
