diff --git a/spellbooks/ab_spells.c b/spellbooks/ab_spells.c
index d706a1f..3b45872 100644
--- a/spellbooks/ab_spells.c
+++ b/spellbooks/ab_spells.c
@@ -129,8 +129,7 @@
 int
 steinschlag(object caster, mapping sinfo) {
   object victim;
-  int hands;
-  string vn, vnw, cn;
+  string vnw, cn;
   int suc;
 
   victim=FindEnemyVictim(sinfo[SI_SKILLARG],caster,
@@ -344,8 +343,6 @@
 int
 identifiziere(object caster, mapping sinfo) {
   object ob;
-  string* fi;
-  string cn;
   string result, info;
   int suc;
   ob=FindVictim(sinfo[SI_SKILLARG], caster,
@@ -353,7 +350,6 @@
   if (!ob)
     return 0;
 
-  cn = caster->name();
   if ((suc=SpellSuccess(caster,sinfo))<=0)
     return MISSERFOLG;
   if (suc < ob->SpellDefend(caster, sinfo))
@@ -424,7 +420,6 @@
 int
 saeurestrahl(object caster, mapping sinfo) {
   object victim;
-  int hands;
   string vnw;
   int suc;
 
@@ -458,7 +453,6 @@
 int
 feuerball(object caster, mapping sinfo) {
   object victim;
-  int hands;
   string vnw;
   int suc;
 
@@ -490,8 +484,7 @@
 int
 pfeil(object caster, mapping sinfo) {
   object victim;
-  int hands;
-  string vn, vnw, cn;
+  string vnw, cn;
   int suc;
 
   victim=FindEnemyVictim(sinfo[SI_SKILLARG],caster,
