diff --git a/src/potion.c b/src/potion.c index 25989fff5..9d5a89fc8 100644 --- a/src/potion.c +++ b/src/potion.c @@ -2495,7 +2495,8 @@ potion_dip(struct obj *obj, struct obj *potion) useup(potion); /* now gone */ /* Mixing potions is dangerous... KMH, balance patch -- acid is particularly unstable */ - if (obj->cursed || obj->otyp == POT_ACID || !rn2(10)) { + if (obj->cursed || obj->otyp == POT_ACID + || (obj->otyp == POT_OIL && obj->lamplit) || !rn2(10)) { /* it would be better to use up the whole stack in advance of the message, but we can't because we need to keep it around for potionbreathe() [and we can't set obj->in_use