diff --git a/src/emerge.cpp b/src/emerge.cpp
index 2a5e84f67c8ca1d9a9fc2933083c03d6f0c96690..499aaf291916d962818f1bccd50967e0d957d33b 100644
--- a/src/emerge.cpp
+++ b/src/emerge.cpp
@@ -243,6 +243,8 @@ MapgenParams *EmergeManager::createMapgenParams(std::string mgname) {
 MapgenParams *EmergeManager::getParamsFromSettings(Settings *settings) {
 	std::string mg_name = settings->get("mg_name");
 	MapgenParams *mgparams = createMapgenParams(mg_name);
+	if (!mgparams)
+		return NULL;
 	
 	mgparams->mg_name     = mg_name;
 	mgparams->seed        = settings->getU64(settings == g_settings ? "fixed_map_seed" : "seed");