Index: dnsmasq-2.38/src/cache.c
===================================================================
--- dnsmasq-2.38.orig/src/cache.c	2007-06-04 13:22:23.510281176 +0200
+++ dnsmasq-2.38/src/cache.c	2007-06-04 13:22:24.014204568 +0200
@@ -749,10 +749,11 @@
      while ((token = strtok(NULL, " \t\n\r")) && (*token != '#'))
        {
 	 struct crec *cache;
+	 int fqdn = !!strchr(token, '.');
 	 if (canonicalise(token))
 	   {
 	     /* If set, add a version of the name with a default domain appended */
-	     if ((opts & OPT_EXPAND) && domain_suffix && !strchr(token, '.') && 
+	     if ((opts & OPT_EXPAND) && domain_suffix && !fqdn && 
 		 (cache = malloc(sizeof(struct crec) + 
 				 strlen(token)+2+strlen(domain_suffix)-SMALLDNAME)))
 	       {
