Index: /trunk/web/templates/main.py
===================================================================
--- /trunk/web/templates/main.py	(revision 162)
+++ /trunk/web/templates/main.py	(revision 163)
@@ -584,5 +584,8 @@
 
 def testName(user, name, machine=None):
-    return name
+    if Machine.select_by(name=name) == []:
+        return name
+    raise InvalidInput('name', name,
+                       "Already taken")
 
 def testHostname(user, hostname, machine):
@@ -641,4 +644,5 @@
     except:
         transaction.rollback()
+        raise
     remctl("web", "moveregister", oldname, name)
     for disk in machine.disks:
