diff --git a/src/script/lua_api/l_noise.cpp b/src/script/lua_api/l_noise.cpp
index a9b59791f88b2cba044c3ad0c572fe0b56ef5267..5a82b6485bcbddf76e500799b2292d752171e9d0 100644
--- a/src/script/lua_api/l_noise.cpp
+++ b/src/script/lua_api/l_noise.cpp
@@ -253,7 +253,7 @@ int LuaPerlinNoiseMap::l_get3dMap_flat(lua_State *L)
 
 LuaPerlinNoiseMap::LuaPerlinNoiseMap(NoiseParams *params, int seed, v3s16 size)
 {
-	m_is3d = size.Z <= 1;
+	m_is3d = size.Z > 1;
 	np = *params;
 	try {
 		noise = new Noise(&np, seed, size.X, size.Y, size.Z);