diff --git a/src/core/worker.js b/src/core/worker.js
index 770ba111b..f3dcecdd6 100644
--- a/src/core/worker.js
+++ b/src/core/worker.js
@@ -654,6 +654,8 @@ var WorkerMessageHandler = {
       }
 
       function onFailure(e) {
+        ensureNotTerminated();
+
         if (e instanceof PasswordException) {
           var task = new WorkerTask('PasswordException: response ' + e.code);
           startWorkerTask(task);