diff --git a/CHANGELOG b/CHANGELOG
index af5a1b0..76f2477 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -12,6 +12,7 @@
 - update fix expire working harder than needed.
 - add missing check for zero length NIS key (Wengang Wang).
 - init SASL callbacks on every ldap lookup library load.
+- fix incorrect match of map type name when included in map name.
  
 14/01/2008 autofs-5.0.3
 -----------------------
diff --git a/lib/master_tok.l b/lib/master_tok.l
index b379940..4bbe033 100644
--- a/lib/master_tok.l
+++ b/lib/master_tok.l
@@ -77,6 +77,7 @@ int my_yyinput(char *, int);
 char buff[1024];
 char *bptr;
 char *optr = buff;
+unsigned int tlen;
 
 %}
 
@@ -190,13 +191,27 @@ OPTNTOUT	(-n{OPTWS}|-n{OPTWS}={OPTWS}|--negative-timeout{OPTWS}|--negative-timeo
 	{OPTWS}\\\n{OPTWS} {}
 
 	{MULTI} {
-		strcpy(master_lval.strtype, master_text);
-		return(MULTITYPE);
+		tlen = master_leng - 1;
+		if (bptr != buff && isblank(master_text[tlen])) {
+			strncat(buff, master_text, tlen);
+			bptr += tlen;
+			yyless(tlen);
+		} else {
+			strcpy(master_lval.strtype, master_text);
+			return(MULTITYPE);
+		}
 	}
 
 	{MTYPE} {
-		strcpy(master_lval.strtype, master_text);
-		return(MAPTYPE);
+		tlen = master_leng - 1;
+		if (bptr != buff && isblank(master_text[tlen])) {
+			strncat(buff, master_text, tlen);
+			bptr += tlen;
+			yyless(tlen);
+		} else {
+			strcpy(master_lval.strtype, master_text);
+			return(MAPTYPE);
+		}
 	}
 
 	{MULTISEP} { return(DDASH); }
@@ -226,7 +241,7 @@ OPTNTOUT	(-n{OPTWS}|-n{OPTWS}={OPTWS}|--negative-timeout{OPTWS}|--negative-timeo
 		yyless(0);
 	}
 
-	{DNSERVERSTR} {
+	{DNSERVERSTR}{DNATTRSTR} {
 		BEGIN(DNSTR);
 		yyless(0);
 	}
