diff --git a/data/epiphany.schemas.in b/data/epiphany.schemas.in
index 81fadca..4eff6a8 100644
--- a/data/epiphany.schemas.in
+++ b/data/epiphany.schemas.in
@@ -167,6 +167,18 @@
 	"icons", and "text".</long>
         </locale>
       </schema> 
+     <schema>
+        <key>/schemas/apps/epiphany/general/open_new_window_in_tab</key>
+        <applyto>/apps/epiphany/general/open_new_window_in_tab</applyto>
+        <owner>epiphany</owner>
+        <type>bool</type>
+        <default>false</default>
+        <locale name="C">
+        <short>Force new windows to be opened in tabs</short>
+        <long>Enabling this option the new windows are forced to be
+        opened in new tabs instead of a real new window.</long>
+        </locale>
+      </schema> 
       <schema>
         <key>/schemas/apps/epiphany/general/show_toolbars</key>
         <applyto>/apps/epiphany/general/show_toolbars</applyto>
diff --git a/lib/ephy-prefs.h b/lib/ephy-prefs.h
index f623355..eba8c3b 100644
--- a/lib/ephy-prefs.h
+++ b/lib/ephy-prefs.h
@@ -37,6 +37,7 @@ G_BEGIN_DECLS
 #define CONF_WINDOWS_SHOW_STATUSBAR		"/apps/epiphany/general/show_statusbar"
 #define CONF_INTERFACE_MIDDLE_CLICK_OPEN_URL	"/apps/epiphany/general/middle_click_open_url"
 #define CONF_INTERFACE_TOOLBAR_STYLE		"/apps/epiphany/general/toolbar_style"
+#define CONF_INTERFACE_OPEN_NEW_WINDOW_IN_TAB	"/apps/epiphany/general/open_new_window_in_tab"
 #define CONF_AUTO_DOWNLOADS			"/apps/epiphany/general/automatic_downloads"
 #define CONF_DESKTOP_IS_HOME_DIR		"/apps/nautilus/preferences/desktop_is_home_dir"
 #define CONF_NETWORK_MANAGED			"/apps/epiphany/general/managed_network"
diff --git a/src/ephy-window.c b/src/ephy-window.c
index dacaee3..5de4768 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -2496,11 +2496,27 @@ create_web_view_cb (WebKitWebView *web_view,
 {
 	EphyEmbed *embed;
 	WebKitWebView *new_web_view;
+	EphyNewTabFlags flags;
+	EphyWindow *parent_window;
+
+	if (eel_gconf_get_boolean (CONF_INTERFACE_OPEN_NEW_WINDOW_IN_TAB))
+        {
+		parent_window = window;
+		flags = EPHY_NEW_TAB_IN_EXISTING_WINDOW |
+			EPHY_NEW_TAB_JUMP;
+
+	}
+	else
+	{
+		parent_window = NULL;
+		flags = EPHY_NEW_TAB_IN_NEW_WINDOW |
+			EPHY_NEW_TAB_DONT_SHOW_WINDOW;
+	}
 
 	embed = ephy_shell_new_tab_full (ephy_shell_get_default (),
-					 NULL, NULL, NULL,
-					 EPHY_NEW_TAB_IN_NEW_WINDOW |
-					 EPHY_NEW_TAB_DONT_SHOW_WINDOW, 
+					 window,
+					 NULL, NULL,
+					 flags,
 					 EPHY_EMBED_CHROME_ALL,
 					 FALSE,
 					 0);
