         return EventLoopFuture<Void>.andAllSucceed([
             self.filesCollection.deleteAll(where: ["_id": id]).map { _ in },
             self.chunksCollection.deleteAll(where: ["files_id": id]).map { _ in }
-        ], on: eventLoop)
+        ], on: eventLoop)._mongoHop(to: filesCollection.hoppedEventLoop)
     }
     
     // TODO: Cancellable, streaming writes & reads

                self.didEnsureIndexes = false
                self.filesCollection.pool.logger.warning("Could not ensure the indexes exists for GridFS")
                throw error
            }
    }
    
}

    
    internal func ensureIndexes() -> EventLoopFuture<Void> {
        guard !didEnsureIndexes else {
            return eventLoop.makeSucceededFuture(())._mongoHop(to: filesCollection.hoppedEventLoop)
        }
        
        didEnsureIndexes = true
