diff --git a/buildman/jobutil/workererror.py b/buildman/jobutil/workererror.py
index 8271976e4..f0301fac4 100644
--- a/buildman/jobutil/workererror.py
+++ b/buildman/jobutil/workererror.py
@@ -25,7 +25,8 @@ class WorkerError(object):
         },
 
         'io.quay.builder.internalerror': {
-            'message': 'An internal error occurred while building. Please submit a ticket.'
+            'message': 'An internal error occurred while building. Please submit a ticket.',
+            'is_internal': True
         },
 
         'io.quay.builder.buildrunerror': {
diff --git a/buildman/server.py b/buildman/server.py
index d8e096135..7b10995b4 100644
--- a/buildman/server.py
+++ b/buildman/server.py
@@ -125,9 +125,7 @@ class BuilderServer(object):
 
   def _job_complete(self, build_job, job_status):
     if job_status == BuildJobResult.INCOMPLETE:
-      self._queue.incomplete(build_job.job_item, restore_retry=True, retry_after=30)
-    elif job_status == BuildJobResult.ERROR:
-      self._queue.incomplete(build_job.job_item, restore_retry=False)
+      self._queue.incomplete(build_job.job_item, restore_retry=False, retry_after=30)
     else:
       self._queue.complete(build_job.job_item)
 
diff --git a/endpoints/common.py b/endpoints/common.py
index 6b89fb6bd..ec6090202 100644
--- a/endpoints/common.py
+++ b/endpoints/common.py
@@ -211,7 +211,7 @@ def start_build(repository, dockerfile_id, tags, build_name, subdir, manual,
     dockerfile_build_queue.put([repository.namespace_user.username, repository.name], json.dumps({
       'build_uuid': build_request.uuid,
       'pull_credentials': model.get_pull_credentials(pull_robot_name) if pull_robot_name else None
-    }), retries_remaining=2)
+    }), retries_remaining=3)
 
   # Add the build to the repo's log.
   metadata = {