 
     result = publishFunction.apply publish, args
 
-    return unless checkNames publish, collectionNames, null, result
+    collectionNames = getCollectionNames result
+    allCollectionNames[''] = collectionNames
+    return unless checkNames publish, allCollectionNames, '', collectionNames
 
     # Specially handle if computation has been returned.
     if result instanceof Tracker.Computation

    oldDocuments = {}
    documents = {}

    collectionNames = {}

    publish._currentComputation = ->
      if Tracker.active

Fiber = Npm.require 'fibers'

getCollectionNames = (result) ->
  if result and _.isArray result
    resultNames = (cursor._getCollectionName() for cursor in result when _.isObject(cursor) and '_getCollectionName' of cursor)
  else if result and _.isObject(result) and '_getCollectionName' of result
