diff --git a/IPython/html/static/notebook/js/menubar.js b/IPython/html/static/notebook/js/menubar.js
index 306059959..fc6f26523 100644
--- a/IPython/html/static/notebook/js/menubar.js
+++ b/IPython/html/static/notebook/js/menubar.js
@@ -91,6 +91,7 @@ define([
// notebook's path.
that.contents.new(that.notebook.notebook_path, null, {
ext: ".ipynb",
+ extra_settings: {async: false}, // So we can open a new window afterwards
success: function (data) {
window.open(
utils.url_join_encode(
diff --git a/IPython/html/static/services/contents.js b/IPython/html/static/services/contents.js
index 9459da406..3cc5f11e5 100644
--- a/IPython/html/static/services/contents.js
+++ b/IPython/html/static/services/contents.js
@@ -118,6 +118,9 @@ define([
success : options.success || function() {},
error : this.create_basic_error_handler(options.error)
};
+ if (options.extra_settings) {
+ $.extend(settings, options.extra_settings);
+ }
$.ajax(this.api_url(path), settings);
};
diff --git a/IPython/html/static/tree/js/main.js b/IPython/html/static/tree/js/main.js
index b2db0b3b4..2396ad8db 100644
--- a/IPython/html/static/tree/js/main.js
+++ b/IPython/html/static/tree/js/main.js
@@ -62,6 +62,7 @@ require([
$('#new_notebook').click(function (e) {
contents.new(common_options.notebook_path, null, {
ext: ".ipynb",
+ extra_settings: {async: false}, // So we can open a new window afterwards
success: function (data) {
window.open(
utils.url_join_encode(