diff --git a/tests/basic.py b/tests/basic.py
index 3fa902b..8bb6b00 100644
--- a/tests/basic.py
+++ b/tests/basic.py
@@ -204,7 +204,7 @@
                logging.info("PKT OUT test with %s, port %s" % (opt, dp_port))
                msg = message.packet_out(in_port=ofp.OFPP_NONE,
                                         data=str(outpkt),
-                                        actions=[action.action_output(port=dp_port)])
+                                        actions=[action.output(port=dp_port)])
 
                logging.info("PacketOut to: " + str(dp_port))
                self.controller.message_send(msg)
@@ -254,7 +254,7 @@
                dp_ports = of_ports[0:num_ports]
                logging.info("PKT OUT test with " + opt +
                                  ", ports " + str(dp_ports))
-               actions = [action.action_output(port=port) for port in dp_ports]
+               actions = [action.output(port=port) for port in dp_ports]
                msg = message.packet_out(in_port=ofp.OFPP_NONE,
                                         data=str(outpkt),
                                         actions=actions)
diff --git a/tools/munger/scripts/action_gen.py b/tools/munger/scripts/action_gen.py
index 2e26144..bde0291 100644
--- a/tools/munger/scripts/action_gen.py
+++ b/tools/munger/scripts/action_gen.py
@@ -66,7 +66,7 @@
 }
 
 template = """
-class action_--TYPE--(--PARENT_TYPE--):
+class --TYPE--(--PARENT_TYPE--):
     \"""
     Wrapper class for --TYPE-- action object
 
@@ -85,6 +85,8 @@
         outstr = prefix + "action_--TYPE--\\n"
         outstr += --PARENT_TYPE--.show(self, prefix)
         return outstr
+
+action_--TYPE-- = --TYPE-- # for backwards compatibility
 """
 
 if __name__ == '__main__':
