 # filters
 # ########
 mustBeAdmin = ->
-  unless Meteor.loggingIn() # don't check for admin user until ready
-    unless Houston._user_is_admin Meteor.userId()
-      @stop()
-      Houston._go 'login'
+  if @ready() and not Houston._user_is_admin Meteor.userId()
+    @stop()
+    Houston._go 'login'
 
 # If the host app doesn't have a router, their html may show up
 hide_non_admin_stuff = ->

Houston._subscribe = (name) -> Meteor.subscribe Houston._houstonize name

Houston._subscribe 'collections'
Houston._subscribe 'admin_user'

setup_collection = (collection_name, document_id) ->
  Houston._page_length = 20

    options.template = Houston._houstonize(options.template)
    options.layoutTemplate = null
    options.path = "#{Houston._ROOT_ROUTE}#{options.houston_path}"
    options.waitOn = ->
      ready: -> !Meteor.loggingIn() and Houston._subscribe('admin_user').ready()
    options.action = -> if @ready() then @render()
    @route Houston._houstonize_route(route_name), options

  houston_route 'home',
