diff --git a/Lib/compiler/transformer.py b/Lib/compiler/transformer.py
index dfa25b8..5844bb5 100644
--- a/Lib/compiler/transformer.py
+++ b/Lib/compiler/transformer.py
@@ -89,7 +89,7 @@
             print nodes[kind], len(args), args
             raise
     else:
-        raise WalkerEror, "Can't find appropriate Node type: %s" % str(args)
+        raise WalkerError, "Can't find appropriate Node type: %s" % str(args)
         #return apply(ast.Node, args)
 
 class Transformer:
@@ -165,7 +165,7 @@
         if n == symbol.classdef:
             return self.classdef(node[1:])
 
-        raise WalkerEror, ('unexpected node type', n)
+        raise WalkerError, ('unexpected node type', n)
 
     def single_input(self, node):
         ### do we want to do anything about being "interactive" ?
@@ -316,31 +316,31 @@
         return Stmt(stmts)
 
     def parameters(self, nodelist):
-        raise WalkerEror
+        raise WalkerError
 
     def varargslist(self, nodelist):
-        raise WalkerEror
+        raise WalkerError
 
     def fpdef(self, nodelist):
-        raise WalkerEror
+        raise WalkerError
 
     def fplist(self, nodelist):
-        raise WalkerEror
+        raise WalkerError
 
     def dotted_name(self, nodelist):
-        raise WalkerEror
+        raise WalkerError
 
     def comp_op(self, nodelist):
-        raise WalkerEror
+        raise WalkerError
 
     def trailer(self, nodelist):
-        raise WalkerEror
+        raise WalkerError
 
     def sliceop(self, nodelist):
-        raise WalkerEror
+        raise WalkerError
 
     def argument(self, nodelist):
-        raise WalkerEror
+        raise WalkerError
 
     # --------------------------------------------------------------
     #
