diff --git a/data/items/items.xml b/data/items/items.xml
index b1a1c6b003f..765c6e9db51 100644
--- a/data/items/items.xml
+++ b/data/items/items.xml
@@ -34797,7 +34797,7 @@
-
+
diff --git a/src/game/game.cpp b/src/game/game.cpp
index 9310f1c9a20..cac0b596ebf 100644
--- a/src/game/game.cpp
+++ b/src/game/game.cpp
@@ -2616,12 +2616,10 @@ std::shared_ptr- Game::transformItem(std::shared_ptr
- item, uint16_t n
auto decaying = item->getDecaying();
// If the item is decaying, we need to transform it to the new item
- if (decaying > DECAYING_FALSE && item->getDuration() <= 1) {
+ if (decaying > DECAYING_FALSE && item->getDuration() <= 1 && newType.decayTo) {
g_logger().debug("Decay duration old type {}, transformEquipTo {}, transformDeEquipTo {}", curType.decayTo, curType.transformEquipTo, curType.transformDeEquipTo);
- g_logger().debug("Decay duration new type, decayTo {}, transformEquipTo {}, transformDeEquipTo {}", newType.decayTo, newType.transformEquipTo, newType.transformDeEquipTo);
- if (newType.decayTo) {
- itemId = newType.decayTo;
- }
+ g_logger().debug("Decay duration new type decayTo {}, transformEquipTo {}, transformDeEquipTo {}", newType.decayTo, newType.transformEquipTo, newType.transformDeEquipTo);
+ itemId = newType.decayTo;
} else if (curType.id != newType.id) {
if (newType.group != curType.group) {
item->setDefaultSubtype();