diff --git a/game/engines/default/engine/interface/ActorTemporaryEffects.lua b/game/engines/default/engine/interface/ActorTemporaryEffects.lua
index 58d3ec9938e0abdae3ff6f2fb4f071d452b65c16..c6c31f66b822f2ca7592004514eecf50af6740b8 100644
--- a/game/engines/default/engine/interface/ActorTemporaryEffects.lua
+++ b/game/engines/default/engine/interface/ActorTemporaryEffects.lua
@@ -51,9 +51,9 @@ function _M:newEffect(t)
 	t.status = t.status or "detrimental"
 	t.decrease = t.decrease or 1
 
-	table.insert(self.tempeffect_def, t)
-	t.id = #self.tempeffect_def
-	self["EFF_"..t.name] = #self.tempeffect_def
+	self.tempeffect_def["EFF_"..t.name] = t
+	t.id = "EFF_"..t.name
+	self["EFF_"..t.name] = "EFF_"..t.name
 end