diff --git a/src/noise.cpp b/src/noise.cpp
index b755a824a8cdbcfe5d112dded39bd3597c400588..9c2141ce086842618daefbb7283d54580f32d082 100644
--- a/src/noise.cpp
+++ b/src/noise.cpp
@@ -238,7 +238,11 @@ double noise3d_param(const NoiseParams &param, double x, double y, double z)
 	y /= s;
 	z /= s;
 
-	if(param.type == NOISE_PERLIN)
+	if(param.type == NOISE_CONSTANT_ONE)
+	{
+		return 1.0;
+	}
+	else if(param.type == NOISE_PERLIN)
 	{
 		return param.noise_scale*noise3d_perlin(x,y,z, param.seed,
 				param.octaves,
diff --git a/src/noise.h b/src/noise.h
index c8d8985c6dfa5845fc7c0006ca2437c710d19adf..ed75f316dca7d4fcca2ef48136f51951b49beacb 100644
--- a/src/noise.h
+++ b/src/noise.h
@@ -82,10 +82,11 @@ double noise3d_perlin_abs(double x, double y, double z, int seed,
 
 enum NoiseType
 {
+	NOISE_CONSTANT_ONE,
 	NOISE_PERLIN,
 	NOISE_PERLIN_ABS,
 	NOISE_PERLIN_CONTOUR,
-	NOISE_PERLIN_CONTOUR_FLIP_YZ
+	NOISE_PERLIN_CONTOUR_FLIP_YZ,
 };
 
 struct NoiseParams