diff --git a/x2gobroker/brokers/base_broker.py b/x2gobroker/brokers/base_broker.py
index e92c7d8..73d0e82 100644
--- a/x2gobroker/brokers/base_broker.py
+++ b/x2gobroker/brokers/base_broker.py
@@ -1105,6 +1105,10 @@ class X2GoBroker(object):
                     if server not in busy_servers.keys():
                         busy_servers[server] = 0
 
+                for server in busy_servers.keys():
+                    if server not in server_list:
+                        del busy_servers[server]
+
                 busy_server_list = [ (load, server) for server, load in busy_servers.items() ]
                 busy_server_list.sort()
 
@@ -1147,32 +1151,35 @@ class X2GoBroker(object):
                     running_sessions = []
                     suspended_sessions = []
                     for session_info in session_list:
-                        if session_info.split('|')[4] == 'R':
-                            running_sessions.append(session_info)
-                        if session_info.split('|')[4] == 'S':
-                            suspended_sessions.append(session_info)
-
-                    # we prefer suspended sessions for resuming if we find sessions with both states of activity
-                    if suspended_sessions:
-                        session_info = suspended_sessions[0]
-                    else:
-                        session_info = running_sessions[0]
-                        x2gobroker.agent.suspend_session(username=username, session_name=session_info.split('|')[1], remote_agent=remote_agent)
-                        # this is the turn-around in x2gocleansessions, so waiting as along as the daemon that will suspend the session
-                        time.sleep(2)
-                        session_info = session_info.replace('|R|', '|S|')
-                    server_name = session_info.split('|')[3]
-
-                    # if we have an explicit IP address for server_name, let's use that instead...
-                    try:
-                        server_name = profile['host={hostname}'.format(hostname=server_name)]
-                    except KeyError:
-                        pass
-
-                    selected_session.update({
-                        'server': server_name,
-                        'session_info': session_info,
-                    })
+                        myhost,mydomain = session_info.split('|')[3].split('.', 1)
+                        if myhost in server_list:
+                            if session_info.split('|')[4] == 'R':
+                                running_sessions.append(session_info)
+                            if session_info.split('|')[4] == 'S':
+                                suspended_sessions.append(session_info)
+
+                    if suspended_sessions or running_sessions:
+                        # we prefer suspended sessions for resuming if we find sessions with both states of activity
+                        if suspended_sessions:
+                            session_info = suspended_sessions[0]
+                        else:
+                            session_info = running_sessions[0]
+                            x2gobroker.agent.suspend_session(username=username, session_name=session_info.split('|')[1], remote_agent=remote_agent)
+                            # this is the turn-around in x2gocleansessions, so waiting as along as the daemon that will suspend the session
+                            time.sleep(2)
+                            session_info = session_info.replace('|R|', '|S|')
+                        server_name = session_info.split('|')[3]
+
+                        # if we have an explicit IP address for server_name, let's use that instead...
+                        try:
+                            server_name = profile['host={hostname}'.format(hostname=server_name)]
+                        except KeyError:
+                            pass
+
+                        selected_session.update({
+                            'server': server_name,
+                            'session_info': session_info,
+                        })
 
                 except IndexError:
 
