diff --git a/docs/sdk/definition/properties.xml b/docs/sdk/definition/properties.xml
index 01a57e684..12afca454 100644
--- a/docs/sdk/definition/properties.xml
+++ b/docs/sdk/definition/properties.xml
@@ -168,7 +168,12 @@ Stand = {
ContactIncinerate
Integer
- Probability of incineration by contact: 0 none, or 1 (high) to 5 (low).
+ Probability of incineration by contact: 0 none, or 1 (high) to 5 (low). Implies MaterialIncinerate.
+
+
+ MaterialIncinerate
+ bool
+ Incineration when submerged in incendiary material.
EditCursorCommands
diff --git a/src/object/C4Object.cpp b/src/object/C4Object.cpp
index f31bf90cf..8b1eb67b5 100644
--- a/src/object/C4Object.cpp
+++ b/src/object/C4Object.cpp
@@ -878,7 +878,7 @@ bool C4Object::ExecLife()
if (!::Game.iTick10)
if (InMat!=MNone)
if (::MaterialMap.Map[InMat].Incendiary)
- if (GetPropertyInt(P_ContactIncinerate) > 0)
+ if (GetPropertyInt(P_ContactIncinerate) > 0 || GetPropertyBool(P_MaterialIncinerate) > 0)
{
Call(PSF_OnInIncendiaryMaterial, &C4AulParSet());
}
diff --git a/src/script/C4StringTable.cpp b/src/script/C4StringTable.cpp
index e9d4fe43c..bffd88258 100644
--- a/src/script/C4StringTable.cpp
+++ b/src/script/C4StringTable.cpp
@@ -165,6 +165,7 @@ C4StringTable::C4StringTable()
P[P_ContainBlast] = "ContainBlast";
P[P_BlastIncinerate] = "BlastIncinerate";
P[P_ContactIncinerate] = "ContactIncinerate";
+ P[P_MaterialIncinerate] = "MaterialIncinerate";
P[P_Global] = "Global";
P[P_Scenario] = "Scenario";
P[P_JumpSpeed] = "JumpSpeed";
diff --git a/src/script/C4StringTable.h b/src/script/C4StringTable.h
index a357c723c..4d66db393 100644
--- a/src/script/C4StringTable.h
+++ b/src/script/C4StringTable.h
@@ -391,6 +391,7 @@ enum C4PropertyName
P_ContainBlast,
P_BlastIncinerate,
P_ContactIncinerate,
+ P_MaterialIncinerate,
P_Global,
P_Scenario,
P_JumpSpeed,