diff --git a/src/mapgen_v5.cpp b/src/mapgen_v5.cpp
index 7c2a149fbc076583b6436e7b91d446b469bf43d8..92febf43b2f4e2ff8c24278a8e1bdcb5e4d9fd5e 100644
--- a/src/mapgen_v5.cpp
+++ b/src/mapgen_v5.cpp
@@ -327,11 +327,9 @@ void MapgenV5::calculateNoise()
 		noise_cave2->perlinMap3D(x, y, z);
 	}
 
-	if (node_max.Y >= BIOMEGEN_BASE_V5) {
-		noise_filler_depth->perlinMap2D(x, z);
-		noise_heat->perlinMap2D(x, z);
-		noise_humidity->perlinMap2D(x, z);
-	}
+	noise_filler_depth->perlinMap2D(x, z);
+	noise_heat->perlinMap2D(x, z);
+	noise_humidity->perlinMap2D(x, z);
 
 	//printf("calculateNoise: %dus\n", t.stop());
 }
@@ -396,9 +394,6 @@ int MapgenV5::generateBaseTerrain()
 
 MgStoneType MapgenV5::generateBiomes(float *heat_map, float *humidity_map)
 {
-	if (node_max.Y < BIOMEGEN_BASE_V5)
-		return STONE;
-
 	v3s16 em = vm->m_area.getExtent();
 	u32 index = 0;
 	MgStoneType stone_type = STONE;
diff --git a/src/mapgen_v5.h b/src/mapgen_v5.h
index e8455a46f6fcb1d64b3d162d25ce2edfd6954083..5575dfe61a45f484ed0ff6ac9858acab53eef476 100644
--- a/src/mapgen_v5.h
+++ b/src/mapgen_v5.h
@@ -23,7 +23,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "mapgen.h"
 
 #define LARGE_CAVE_DEPTH -256
-#define BIOMEGEN_BASE_V5 -192
 
 /////////////////// Mapgen V5 flags
 //#define MGV5_   0x01
diff --git a/src/mapgen_v7.cpp b/src/mapgen_v7.cpp
index be7212e0e0d40c21ebf5fc28be6a24057e87a521..247d9debc6d0995473ee3ef7222dade729a12097 100644
--- a/src/mapgen_v7.cpp
+++ b/src/mapgen_v7.cpp
@@ -362,11 +362,9 @@ void MapgenV7::calculateNoise()
 		noise_mount_height->perlinMap2D(x, z);
 	}
 
-	if (node_max.Y >= BIOMEGEN_BASE_V7) {
-		noise_filler_depth->perlinMap2D(x, z);
-		noise_heat->perlinMap2D(x, z);
-		noise_humidity->perlinMap2D(x, z);
-	}
+	noise_filler_depth->perlinMap2D(x, z);
+	noise_heat->perlinMap2D(x, z);
+	noise_humidity->perlinMap2D(x, z);
 	//printf("calculateNoise: %dus\n", t.stop());
 }
 
@@ -591,9 +589,6 @@ void MapgenV7::generateRidgeTerrain()
 
 MgStoneType MapgenV7::generateBiomes(float *heat_map, float *humidity_map)
 {
-	if (node_max.Y < BIOMEGEN_BASE_V7)
-		return STONE;
-
 	v3s16 em = vm->m_area.getExtent();
 	u32 index = 0;
 	MgStoneType stone_type = STONE;
diff --git a/src/mapgen_v7.h b/src/mapgen_v7.h
index 84f0c9efad05dff2e03520f94984ab24a137e3ff..eb46c371b2683d6cf0cc9284681612f8b2430ead 100644
--- a/src/mapgen_v7.h
+++ b/src/mapgen_v7.h
@@ -22,8 +22,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #include "mapgen.h"
 
-#define BIOMEGEN_BASE_V7 -192
-
 /////////////////// Mapgen V7 flags
 #define MGV7_MOUNTAINS   0x01
 #define MGV7_RIDGES      0x02
diff --git a/src/mg_decoration.cpp b/src/mg_decoration.cpp
index 5176ccb68cb96e552e8254a22d1e8b0872b5b81c..f133788de4fd0415a9c1238d38b858cfd282f0d4 100644
--- a/src/mg_decoration.cpp
+++ b/src/mg_decoration.cpp
@@ -129,7 +129,6 @@ size_t Decoration::placeDeco(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax)
 			s16 y = mg->heightmap ?
 					mg->heightmap[mapindex] :
 					mg->findGroundLevel(v2s16(x, z), nmin.Y, nmax.Y);
-			y = MYMAX(y, mg->water_level);
 
 			if (y < nmin.Y || y > nmax.Y ||
 				y < y_min  || y > y_max)