Index: ChunkMap.cpp
===================================================================
--- ChunkMap.cpp	(revision 1604)
+++ ChunkMap.cpp	(working copy)
@@ -1499,6 +1499,16 @@
 
 void cChunkMap::DoExplosiontAt(float a_ExplosionSize, int a_BlockX, int a_BlockY, int a_BlockZ, cVector3iArray & a_BlocksAffected)
 {
+	switch (m_World->GetBlock(a_BlockX, a_BlockY, a_BlockZ))
+	{
+		case E_BLOCK_WATER:
+		case E_BLOCK_STATIONARY_WATER:
+		case E_BLOCK_LAVA:
+		case E_BLOCK_STATIONARY_LAVA:
+		{
+			return;
+		}
+	}
 	cBlockArea area;
 	int ExplosionSizeInt = (int) ceil(a_ExplosionSize);
 	int ExplosionSizeSq =  ExplosionSizeInt * ExplosionSizeInt;
