             dbg("project is already at target -- not moving")
             opts.cb()
             return
-        async.series([
+
+        member_host = undefined
+        async.series([
+            (cb) =>
+                @get_quotas
+                    cb : (err, quota) =>
+                        member_host = !!quota?.member_host
+                        cb(err)
             (cb) =>
                 async.parallel([
                     (cb) =>
-                        dbg("determine target")
+                        dbg("determine target (member_host=#{member_host})")
                         if opts.target?
                             cb()
                         else

            cb : undefined
        host          = undefined
        assigned      = undefined
        previous_host = @host
        dbg = @dbg("update_host")
        t = misc.mswalltime()

                        else
                            for x in s
                                if not opts.hosts? or x.host in opts.hosts
                                    result[x.host] =
                                        experimental : x.experimental
                                        member_host  : x.member_host
                            dbg("considering #{misc.len(result)} compute servers")
                            cb()
            (cb) =>
