             # TODO: it would be better just to force start only the daemons that need to be started -- doing this is
             # just a first brutal minimum way to do this!
             bad = ''
-            if not @_status.local_hub
+            if not @_status?.local_hub
                 bad += ' local_hub'
-            if not @_status.console_server
+            if not @_status?.console_server
                 bad += ' console_server'
             winston.debug("Not all daemons are running (not running: #{bad}) -- restart required -- #{@username}@#{@host}")
             @_restart_local_hub_daemons (err) =>

                cb?()

    _restart_local_hub_if_not_all_daemons_running: (cb) =>
        if @_status.local_hub #and @_status.console_server
            # NOTE! we do *not* check for @_status.sage_server, since it is easy for a user to mess that up.
            # If they mess up console_server and local_hub (which should be very hard), they couldn't fix it
            # anyways -- but messing up the sage server is fixable via the console or file editor.

                    cb(err)
                else
                    # try one more time:
                    @_get_local_hub_status (err, _status) =>
                        @_status = _status
                        cb(err)

