diff --git a/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php b/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php
index da1df283f..872626335 100644
--- a/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php
+++ b/src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php
@@ -1,42 +1,44 @@
 <?php
 
 final class PhabricatorTaskmasterDaemon extends PhabricatorDaemon {
 
   public function run() {
     $sleep = 0;
     do {
       $tasks = id(new PhabricatorWorkerLeaseQuery())
         ->setLimit(1)
         ->execute();
 
       if ($tasks) {
         foreach ($tasks as $task) {
           $id = $task->getID();
           $class = $task->getTaskClass();
 
           $this->log("Working on task {$id} ({$class})...");
 
           $task = $task->executeTask();
           $ex = $task->getExecutionException();
           if ($ex) {
             if ($ex instanceof PhabricatorWorkerPermanentFailureException) {
               $this->log("Task {$id} failed permanently.");
             } else {
               $this->log("Task {$id} failed!");
-              throw $ex;
+              throw new PhutilProxyException(
+                "Error while executing task ID {$id} from queue.",
+                $ex);
             }
           } else {
             $this->log("Task {$id} complete! Moved to archive.");
           }
         }
 
         $sleep = 0;
       } else {
         $sleep = min($sleep + 1, 30);
       }
 
       $this->sleep($sleep);
     } while (true);
   }
 
 }