                     task.session.appliedParameterValues.push([p1[0], v, t])
 
           if methodResponse.faultcode?
-            # Ignore GetParameterValues errors. A workaround for the crappy Seewon devices.
-            methodResponse = {parameterList : {}}
+            task.fault = methodResponse
+            return callback(null, STATUS_FAULT)
 
           if status & STATUS_COMPLETED and task.session.appliedParameterValues.length > 0
             task.session.subtask = {name : 'setParameterValues', parameterValues : task.session.appliedParameterValues}


      methodRequest = {
        type : 'Download',
        fileType : file.metadata?.FileType ? '1 Firmware Upgrade Image',
        fileSize : file.length,
        url : "http://#{config.FILES_IP}:#{config.FILES_PORT}/#{file.filename}",
        successUrl : task.successUrl,
        failureUrl : task.failureUrl
      }

    )
  else if task.session.subtask.name is 'getParameterValues'
    if methodResponse.faultcode?
      task.fault = methodResponse
      return callback(null, STATUS_FAULT)

    this.getParameterValues(task.session.subtask, methodResponse, (err, status, cwmpResponse, deviceUpdates) ->
      callback(err, status, cwmpResponse, deviceUpdates)
