Index: changelog
===================================================================
--- changelog	(revision 55528)
+++ changelog	(working copy)
@@ -64,6 +64,7 @@
      the hotkeys
    * Added -Wuseless-cast to the CMake pedantic flags.
    * Added -Wc++11-compat to the CMake pedantic flags.
+   * Synchronize underlying_unit_id in MP campaigns (bug #20227)
 
 Version 1.11.0:
  * Add-ons client:
Index: src/multiplayer_ui.cpp
===================================================================
--- src/multiplayer_ui.cpp	(revision 55528)
+++ src/multiplayer_ui.cpp	(working copy)
@@ -29,6 +29,7 @@
 #include "multiplayer_ui.hpp"
 #include "sound.hpp"
 #include "replay.hpp"
+#include "unit_id.hpp"
 #include "wml_separators.hpp"
 #include "formula_string_utils.hpp"
 
@@ -111,6 +112,7 @@
 
 	carryover_info sides = carryover_info(state.carryover_sides_start);
 
+	n_unit::id_manager::instance().set_save_id(level["next_underlying_unit_id"]);
 	//set random
 	const std::string seed = level["random_seed"];
 	if(!seed.empty()) {
