diff --git a/src/mapblock.cpp b/src/mapblock.cpp
index 4cc0abc8176104c5a5a922205d6067de223e7df2..c22096562e81681ff4928069c53b20390c1bd2d7 100644
--- a/src/mapblock.cpp
+++ b/src/mapblock.cpp
@@ -526,12 +526,6 @@ void MapBlock::serialize(std::ostream &os, u8 version, bool disk)
 		throw SerializationError("ERROR: Not writing dummy block.");
 	}
 
-	// Can't do this anymore; we have 16-bit dynamically allocated node IDs
-	// in memory; conversion just won't work in this direction.
-	if(version < 24)
-		throw SerializationError("MapBlock::serialize: serialization to "
-				"version < 24 not possible");
-
 	// First byte
 	u8 flags = 0;
 	if(is_underground)
diff --git a/src/serialization.h b/src/serialization.h
index caa1a66da058b0483ccd6fb19a1175f94309e194..6bc4cdc53b3d6538a07c2577ae980ffc84c7517e 100644
--- a/src/serialization.h
+++ b/src/serialization.h
@@ -30,11 +30,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 	--------------------------------
 
 	For map data (blocks, nodes, sectors).
-	
+
 	NOTE: The goal is to increment this so that saved maps will be
 	      loadable by any version. Other compatibility is not
 		  maintained.
-		  
+
 	0: original networked test with 1-byte nodes
 	1: update with 2-byte nodes
 	2: lighting is transmitted in param
@@ -70,7 +70,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 // Saved on disk version
 #define SER_FMT_VER_HIGHEST_WRITE 25
 // Lowest supported serialization version
-#define SER_FMT_VER_LOWEST 0
+#define SER_FMT_VER_LOWEST 24
 
 inline bool ser_ver_supported(s32 v) {
 	return v >= SER_FMT_VER_LOWEST && v <= SER_FMT_VER_HIGHEST_READ;