--- epiphany-browser-2.14.2.1.orig/lib/widgets/ephy-location-entry.c
+++ epiphany-browser-2.14.2.1/lib/widgets/ephy-location-entry.c
@@ -377,19 +377,6 @@
 {
 	guint state = event->state & gtk_accelerator_get_default_mod_mask ();
 
-	if ((event->keyval == GDK_Return ||
-	     event->keyval == GDK_KP_Enter ||
-	     event->keyval == GDK_ISO_Enter) &&
-	    (state == GDK_CONTROL_MASK ||
-	     state == (GDK_CONTROL_MASK | GDK_SHIFT_MASK)))
-	{
-		gtk_im_context_reset (entry->im_context);
-
-		g_signal_emit_by_name (entry, "activate");
-
-		return TRUE;
-	}
-
 	if (event->keyval == GDK_Escape && state == 0)
 	{
 		ephy_location_entry_reset (lentry);
--- epiphany-browser-2.14.2.1.orig/src/ephy-location-action.c
+++ epiphany-browser-2.14.2.1/src/ephy-location-action.c
@@ -41,6 +41,7 @@
 {
 	EphyWindow *window;
 	GList *actions;
+	EphyLocationEntry *lentry;
 	char *address;
 	char *typed_address;
 	EphyNode *smart_bmks;
@@ -118,7 +119,7 @@
 		     EphyLocationAction *action)
 {
 	GtkWidget *entry;
-	char *content;
+	char *content, *address;
 
 	entry = gtk_entry_completion_get_entry (completion);
 	content = gtk_editable_get_chars (GTK_EDITABLE (entry), 0, -1);
@@ -137,8 +138,17 @@
 			(action->priv->bookmarks, smart_url, content);
 		g_return_if_fail (url != NULL);
 
-		ephy_link_open (EPHY_LINK (action), url, NULL, 0);
-	
+		ephy_link_open (EPHY_LINK (action), url, NULL,
+				ephy_link_flags_from_current_event ());
+
+		if (ephy_link_flags_from_current_event ()
+		    & (EPHY_LINK_NEW_WINDOW|EPHY_LINK_NEW_TAB))
+		{
+			ephy_location_entry_reset (action->priv->lentry);
+			address = ephy_location_entry_get_location (action->priv->lentry);
+			ephy_location_action_set_address (action, address, NULL);
+		}
+
 		g_free (url);
 		g_free (content);
 	}
@@ -348,6 +358,7 @@
 		gtk_entry_completion_insert_action_text (completion, index, (char*)title);
 	}
 
+	action->priv->lentry = lentry;
 	g_signal_connect (completion, "action_activated",
 			  G_CALLBACK (action_activated_cb), action);
 }
