Index: /trunk/web/templates/main.py
===================================================================
--- /trunk/web/templates/main.py	(revision 163)
+++ /trunk/web/templates/main.py	(revision 164)
@@ -35,5 +35,5 @@
     """
     def __init__(self, err_field, err_value, expl=None):
-        super(InvalidInput, self).__init__(expl)
+        MyException.__init__(self, expl)
         self.err_field = err_field
         self.err_value = err_value
@@ -586,4 +586,6 @@
     if Machine.select_by(name=name) == []:
         return name
+    if name == machine.name:
+        return name
     raise InvalidInput('name', name,
                        "Already taken")
@@ -611,5 +613,5 @@
         hostname = testHostname(owner, fields.getfirst('hostname'),
                             machine)
-        name = testName(user, fields.getfirst('name'))
+        name = testName(user, fields.getfirst('name'), machine)
         oldname = machine.name
         olddisk = {}
@@ -618,4 +620,6 @@
         if memory is not None:
             memory = validMemory(user, memory, machine)
+        else:
+            memory = machine.memory
         if memory != machine.memory:
             machine.memory = memory
@@ -624,5 +628,4 @@
         if disksize is not None:
             disksize = validDisk(user, disksize, machine)
-        
         for disk in machine.disks:
             disk.size = disksize
