   # Only one op can be in-flight at a time, so if an op is already on its way then
   # this method does nothing.
   flush: =>
-    delete @flushTimeout
+    @flushTimeout = null
     #console.log "CALLED FLUSH"
 
     return unless @connection.state == 'ok' and @inflightOp == null and @pendingOp != null


    @emit 'change', op

    # A timeout is used so if the user sends multiple ops at the same time, they'll be composed
    # & sent together.
    if !@flushTimeout?
        @flushTimeout = setTimeout @flush, @_flushDelay || 0
  

        callback null, oldInflightOp for callback in @inflightCallbacks

      # Send the next op.
      @delayedFlush()

    else if msg.op
      # We got a new op from the server.
