Index: src/playcampaign.cpp
===================================================================
--- src/playcampaign.cpp	(revision 56328)
+++ src/playcampaign.cpp	(working copy)
@@ -105,6 +105,11 @@
 	bool has_next_scenario = !resources::gamedata->next_scenario().empty() &&
 			resources::gamedata->next_scenario() != "null";
 
+	if(resources::teams->size() < 1){
+		gamestate.carryover_sides_start["next_scenario"] = resources::gamedata->next_scenario();
+		return;
+	}
+
 	carryover_info sides(gamestate.carryover_sides);
 
 	sides.transfer_from(*resources::gamedata);
Index: src/gamestatus.cpp
===================================================================
--- src/gamestatus.cpp	(revision 56328)
+++ src/gamestatus.cpp	(working copy)
@@ -296,15 +296,15 @@
 {
 	end_level_.read(cfg.child_or_empty("end_level_data"));
 	BOOST_FOREACH(const config& side, cfg.child_range("side")){
-		if(resources::teams != NULL){
-			BOOST_FOREACH(const team &t, *resources::teams){
-				if(t.save_id() == side["save_id"]){
+	//	if(resources::teams != NULL){
+		//	BOOST_FOREACH(const team &t, *resources::teams){
+		//		if(t.save_id() == side["save_id"]){
 					this->carryover_sides_.push_back(carryover(side));
-				}
-			}
-		} else {
-			this->carryover_sides_.push_back(carryover(side));
-		}
+		//		}
+		//	}
+		//} else {
+		//	this->carryover_sides_.push_back(carryover(side));
+		//}
 	}
 
 	wml_menu_items_.set_menu_items(cfg);
@@ -1211,7 +1211,7 @@
 		cfg.remove_child("snapshot", 0);
 	}
 
-	LOG_RG<<"cfg after conversion "<<cfg<<"\n";
+//	LOG_RG<<"cfg after conversion "<<cfg<<"\n";
 }
 
 void game_state::write_snapshot(config& cfg, game_display* gui) const
