diff --git a/doc/sphinx/lfun/AddSpell.rst b/doc/sphinx/lfun/AddSpell.rst
index 602292f..2ac4932 100644
--- a/doc/sphinx/lfun/AddSpell.rst
+++ b/doc/sphinx/lfun/AddSpell.rst
@@ -22,7 +22,8 @@
     rate          - Relative Haeufigkeit der Anwendung (*),
                     muss >= 0 sein
     damage        - Der Schadenswert fuer Defend(),
-                    muss > 0 sein
+                    muss >= 0 sein. Bei Schaden von 0 MUSS eine Funktion
+                    eingetragen werden.
     TextForEnemy  - Text, den der Feind erhalten soll
     TextForOthers - Text, den andere im Raum erhalten sollen
     dam_type      - Schadenstyp(en) fuer Defend(),
diff --git a/std/npc/combat.c b/std/npc/combat.c
index e209967..f49a3c2 100644
--- a/std/npc/combat.c
+++ b/std/npc/combat.c
@@ -193,6 +193,14 @@
     }
   }
   
+  if(damage==0 && !closurep(cl))
+  {
+    catch(raise_error(
+      "AddSpell(): Bei damage=0 muss eine Funktion eingetragen werden.");
+      publish);
+    return 0;
+  }
+
   // Falls vorhanden, alte Syntax auf die von replace_personal() anpassen,
   // die im heart_beat() beim Ausgeben der Meldung verwendet wird.
   if ( strstr(TextForOthers, "@", 0) != -1 )
@@ -345,10 +353,15 @@
         ({ enemy, this_object()}));
     return ;
   }
-  int damage = random(spells[i][SPELL_DAMAGE])+1;
-  enemy->Defend(damage, spells[i][SPELL_DAMTYPE],
-                spells[i][SPELL_ARG],
-                this_object());
+  int damage;
+  // Bei 0 sparen wir uns das Defend() und rufen nur die Funktion auf.
+  if(spells[i][SPELL_DAMAGE])
+  {
+    damage=random(spells[i][SPELL_DAMAGE])+1;
+    enemy->Defend(damage, spells[i][SPELL_DAMTYPE],
+      spells[i][SPELL_ARG],
+      this_object());
+  }
 
   // Falls der Gegner (oder wir) im Defend stirbt, hier abbrechen
   if ( !objectp(ME) || !objectp(enemy) 
