               console?.error 'Failed to update classification queue:', error
           .catch (error) =>
             console?.error 'Failed to save a queued classification:', error
+            switch error.status
+              when 422
+                indexInQueue = queue.indexOf classificationData
+                queue.splice indexInQueue, 1
+                try
+                  localStorage.setItem FAILED_CLASSIFICATION_QUEUE_NAME, JSON.stringify queue
+                catch error
+                  console?.error 'Failed to update classification queue:', error
 
   loadAnotherSubject: ->
     # Forget the old classification so a new one will load.

      for classificationData in queue then do (classificationData) =>
        apiClient.type('classifications').create(classificationData).save()
          .then (actualClassification) =>
            actualClassification.destroy()
            indexInQueue = queue.indexOf classificationData
            queue.splice indexInQueue, 1


    classification = @state.classification
    console?.info 'Completed classification', classification

    Split.classificationCreated(classification)
    {workflow, subjects} = classification.links
    seenThisSession.add workflow, subjects
    @queueClassification classification unless @state.demoMode
    @saveAllQueuedClassifications()
    Promise.resolve classification

  queueClassification: (classification) ->
    queue = JSON.parse localStorage.getItem FAILED_CLASSIFICATION_QUEUE_NAME
