Index: Base/OSGGroupConnection.cpp
===================================================================
RCS file: /cvsroot/opensg/OpenSG/Source/Base/Network/Base/OSGGroupConnection.cpp,v
retrieving revision 1.1
diff -u -r1.1 OSGGroupConnection.cpp
--- Base/OSGGroupConnection.cpp	30 Jan 2004 12:23:26 -0000	1.1
+++ Base/OSGGroupConnection.cpp	23 Nov 2011 09:25:46 -0000
@@ -178,8 +178,11 @@
 {
     Channel channel = _indexToChannel[index];
     // erase from indexed arrays
-    _selection     .erase(_selection.begin()      + index);
-    _indexToChannel.erase(_indexToChannel.begin() + index);
+    //_selection     .erase(_selection.begin()      + index);
+	_selection[index] = false; // disable selection
+    //_indexToChannel.erase(_indexToChannel.begin() + index);
+	_indexToChannel[index] = -1;
+	_channelToIndex[channel] = -1;
     // move to reuse
     _reuseChannel.push_back(channel);
 }
Index: Socket/OSGGroupSockConnection.cpp
===================================================================
RCS file: /cvsroot/opensg/OpenSG/Source/Base/Network/Socket/OSGGroupSockConnection.cpp,v
retrieving revision 1.15
diff -u -r1.15 OSGGroupSockConnection.cpp
--- Socket/OSGGroupSockConnection.cpp	5 Sep 2008 08:21:33 -0000	1.15
+++ Socket/OSGGroupSockConnection.cpp	23 Nov 2011 09:15:16 -0000
@@ -141,7 +141,7 @@
     catch(...)
     {
     }
-    _sockets.erase(_sockets.begin() + index);
+    //_sockets.erase(_sockets.begin() + index); // erase moves vector elements -> bad idea..
     delChannelIndex(index);
     _readIndex = 0;
 }

