diff --git a/core/js/update.js b/core/js/update.js
index 7cf9b558c22a0dbcca52aff22546621df757ec28..090f8fa5d23063c13e4bcc12c3a74fa8125acda3 100644
--- a/core/js/update.js
+++ b/core/js/update.js
@@ -51,12 +51,14 @@
 			});
 			updateEventSource.listen('error', function(message) {
 				message = message || t('core', 'An error occurred.');
+				$(window).off('beforeunload.inprogress');
 				$('<span>').addClass('error').append(message).append('<br />').appendTo($el);
 				message = t('core', 'Please reload the page.');
 				$('<span>').addClass('error').append('<a href=".">'+message+'</a><br />').appendTo($el);
 				updateEventSource.close();
 			});
 			updateEventSource.listen('failure', function(message) {
+				$(window).off('beforeunload.inprogress');
 				$('<span>').addClass('error').append(message).append('<br />').appendTo($el);
 				$('<span>')
 				.addClass('bold')