         conn_pre_abort = =>
             debug "#{count}: conn_pre_abort called. Destroyed? ", conn.destroyed
 
-            if conn.destroyed
-                debug "aborting preroll ", count
+            if !aborted
+                debug "#{count}: Aborting preroll"
                 req.abort()
+                aborted = true
 
             clearTimeout req_t
 
+        # we don't need to fire the callback after these
         conn.once "close", conn_pre_abort
         conn.once "end", conn_pre_abort
 


                clearTimeout req_t

                rres.on "data", (chunk) =>
                    buffers.push chunk
                    buf_len += chunk.length

                # when preroll is done, call the output's callback
                rres.on "end", =>

                res.end()
                rstream?.destroy() if rstream?.readable

    #----------

    loadPreroll: (key, req, cb) ->
        count = req.count
