diff --git a/src/mapgen.cpp b/src/mapgen.cpp
index 56f66f6969d45cc8b0acfa153e2065379b4143a2..0b8832ece089bfb356e133153b124488f23b4afc 100644
--- a/src/mapgen.cpp
+++ b/src/mapgen.cpp
@@ -1476,7 +1476,7 @@ void make_block(BlockMakeData *data)
 			0.5+(double)node_min.X/250, 0.5+(double)node_min.Y/250,
 			data->seed+34329, 3, 0.50);
 	cave_amount = MYMAX(0.0, cave_amount);
-	u32 caves_count = cave_amount * volume_nodes / 50000;
+	u32 caves_count = cave_amount * volume_nodes / 20000;
 	u32 bruises_count = 1;
 	PseudoRandom ps(blockseed+21343);
 	if(ps.range(1, 4) == 1)