IMapServerObjects.RefreshSererObjects() function must be called twice to solve this particular problem.Here is the portion of code that fails at 9.2: //make the current map the same as the old map mapcurrent.clearLayers(); mapcurrent.clearMapSurrounds(); for(int i = originalMap.getLayerCount()-1 ; i >= 0 ; --i) mapcurrent.addLayer(originalMap.getLayer(i)); ((MapServer)server).refreshServerObjects();Here is the workaround solution: //making the current mapcurrent.ClearLayers(); mapcurrent.ClearMapSurrounds(); ((MapServer)server).RefreshServerObjects(); // refreshServerObject for (int i = originalMap.getLayerCount() - 1; i >= 0; --i) mapcurrent.AddLayer(originalMap.getLayer(i)); ((MapServer)server).RefreshServerObjects(); // refreshServerObject again