diff --git a/src/mapgen_v6.cpp b/src/mapgen_v6.cpp
index 50126ecf0d2ba5888a30fc7f59df7fd0e6c88ec3..732ec09558200b6d5c1639a0f50c4c27757edbca 100644
--- a/src/mapgen_v6.cpp
+++ b/src/mapgen_v6.cpp
@@ -1007,7 +1007,7 @@ void MapgenV6::growGrass() // Add surface nodes
 			} else if (bt == BT_TUNDRA) {
 				if (c == c_dirt) {
 					vm->m_data[i] = n_dirt_with_snow;
-				} else if (c == c_stone) {
+				} else if (c == c_stone && surface_y < node_max.Y) {
 					vm->m_area.add_y(em, i, 1);
 					vm->m_data[i] = n_snow;
 				}