                     message: msg
                     timestamp: time
                     id: id
+
+              else if record.action == 'invalid-request'
+                setImmediate => @emit 'invalid-request', record
+                logger.error "Server received a request which did not contain a sequence number:", record
+
               else
+                message = 'Valid, but un-handled response type.'
                 setImmediate => @emit 'error', new errors.PubSubError("#{message}: #{rec}")
-
-                message = 'Valid, but un-handled response type.'
                 logger.error "#{message}"
 
           # WebSocket connection failure

            logger.verbose "Received a record:", rec
            @recordCount += 1

            validation = dialect.parseAndAutoValidate rec

            if not validation.isValid

                    reject(new errors.PubSubFailureResponse(
                      record.message, null, record.code, record.details, record
                    ))

              else if record.action == 'msg'
                {id, action, time, chan, msg} = record

