diff --git a/src/hostinfo/named.py b/src/hostinfo/named.py
index 2ea8a6f5393770cc2ff4794aefc2b44c7037a460..a141d3df32027461666139d0e224847e58fcb5e8 100755
--- a/src/hostinfo/named.py
+++ b/src/hostinfo/named.py
@@ -153,7 +153,7 @@ class DomainDict:
             pass
 
         def add_host(self, name, ttl, kind, value):
-            if not re.match('^[0-9a-zA-Z.-]+$', name):
+            if not re.match('^[*0-9a-zA-Z][-.0-9a-zA-Z]*$', name):
                 raise Exception('Invalid host name "%s"' % name)
             if not name in self.host:
                 self.host[name] = set()