UpdateCurrentQuest();
 
-        if (!_clientState.IsLoggedIn || _condition[ConditionFlag.Unconscious])
+        if (!_clientState.IsLoggedIn)
+        {
+            StopAllDueToConditionFailed("Logged out");
+        }
+        if (_condition[ConditionFlag.Unconscious])
         {
             if (_condition[ConditionFlag.Unconscious] &&
                 _condition[ConditionFlag.SufferingStatusAffliction63] &&
             {
                 // ignore, we're in the lahabrea fight
             }
+            else if (_taskQueue.CurrentTaskExecutor is Duty.WaitAutoDutyExecutor)
+            {
+                // ignoring death in a dungeon if it is being run by AD
+            }
             else if (!_taskQueue.AllTasksComplete)
             {
-                Stop("HP = 0");
-                _movementController.Stop();
-                _combatController.Stop("HP = 0");
-                _gatheringController.Stop("HP = 0");
+                StopAllDueToConditionFailed("HP = 0");
             }
         }
         else if (_configuration.General.UseEscToCancelQuesting && _keyState[VirtualKey.ESCAPE])
         {
             if (!_taskQueue.AllTasksComplete)
             {
-                Stop("ESC pressed");
-                _movementController.Stop();
-                _combatController.Stop("ESC pressed");
-                _gatheringController.Stop("ESC pressed");
+                StopAllDueToConditionFailed("ESC pressed");
             }
         }
 
         }
     }
 
+    private void StopAllDueToConditionFailed(string label)
+    {
+        Stop(label);
+        _movementController.Stop();
+        _combatController.Stop(label);
+        _gatheringController.Stop(label);
+    }
+
     private void CheckNextTasks(string label)
     {
         if (AutomationType == EAutomationType.Automatic)