diff --git a/discord/client.py b/discord/client.py
index <HASH>..<HASH> 100644
--- a/discord/client.py
+++ b/discord/client.py
@@ -308,8 +308,9 @@ class ConnectionState(object):
         if server is not None:
             user_id = data['user']['id']
             member = utils.find(lambda m: m.id == user_id, server.members)
-            server.members.remove(member)
-            self.dispatch('member_remove', member)
+            if member in server.members:
+                server.members.remove(member)
+                self.dispatch('member_remove', member)
 
     def handle_guild_member_update(self, data):
         server = self._get_server(data.get('guild_id'))
Check if member is in list for GUILD_MEMBER_REMOVE.