diff --git a/core/js/js.js b/core/js/js.js index e2b8731c87..972f0e6314 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -776,7 +776,7 @@ var OCP = {}, return; } - if (_.contains([302, 303, 307, 401], xhr.status)) { + if (_.contains([302, 303, 307, 401], xhr.status) && OC.currentUser) { // sometimes "beforeunload" happens later, so need to defer the reload a bit setTimeout(function() { if (!self._userIsNavigatingAway && !self._reloadCalled) { diff --git a/core/js/tests/specs/coreSpec.js b/core/js/tests/specs/coreSpec.js index 5d42f0881d..d1734a9f3d 100644 --- a/core/js/tests/specs/coreSpec.js +++ b/core/js/tests/specs/coreSpec.js @@ -969,8 +969,11 @@ describe('Core base tests', function() { var reloadStub, ajaxErrorStub, clock; var notificationStub; var waitTimeMs = 6000; + var oldCurrentUser; beforeEach(function() { + oldCurrentUser = OC.currentUser; + OC.currentUser = 'dummy'; clock = sinon.useFakeTimers(); reloadStub = sinon.stub(OC, 'reload'); notificationStub = sinon.stub(OC.Notification, 'show'); @@ -980,6 +983,7 @@ describe('Core base tests', function() { window.initCore(); }); afterEach(function() { + OC.currentUser = oldCurrentUser; reloadStub.restore(); notificationStub.restore(); clock.restore();