diff --git a/Makefile b/Makefile
index d112435..89f009d 100644
--- a/Makefile
+++ b/Makefile
@@ -16,7 +16,7 @@
 
 include /Developer/Makefiles/pb_makefiles/platform.make
 
-MVERS = "mDNSResponder-258.13"
+MVERS = "mDNSResponder-258.14"
 
 DDNSWRITECONFIG = "$(DSTROOT)/Library/Application Support/Bonjour/ddnswriteconfig"
 
diff --git a/mDNSCore/mDNS.c b/mDNSCore/mDNS.c
index 3b69ecc..91f37de 100755
--- a/mDNSCore/mDNS.c
+++ b/mDNSCore/mDNS.c
@@ -2858,6 +2858,15 @@
 			mDNS_StopQuery_internal(m, q);								// Stop old query
 			AssignDomainName(&q->qname, &rr->resrec.rdata->u.name);		// Update qname
 			q->qnamehash = DomainNameHashValue(&q->qname);				// and namehash
+			// If a unicast query results in a CNAME that points to a .local, we need to re-try
+			// this as unicast. Setting the mDNSInterface_Unicast tells mDNS_StartQuery_internal
+			// to try this as unicast query even though it is a .local name
+			if (!mDNSOpaque16IsZero(q->TargetQID) && IsLocalDomain(&q->qname))
+				{
+				LogInfo("AnswerCurrentQuestionWithResourceRecord: Resolving a .local CNAME %p %##s (%s) CacheRecord %s",
+					q, q->qname.c, DNSTypeName(q->qtype), CRDisplayString(m, rr));
+				q->InterfaceID = mDNSInterface_Unicast;
+				}
 			mDNS_StartQuery_internal(m, q);								// start new query
 			// Record how many times we've done this. We need to do this *after* mDNS_StartQuery_internal,
 			// because mDNS_StartQuery_internal re-initializes CNAMEReferrals to zero
@@ -7067,7 +7076,7 @@
 	// We still want the ability to be able to listen to the local services and hence
 	// don't fail .local requests. We always have a loopback interface which we don't
 	// check here.
-	if (IsLocalDomain(qname)) { LogInfo("ShouldSuppressQuery: Query not suppressed for %##s, qtype %s, Local question", qname, DNSTypeName(qtype)); return mDNSfalse; }
+	if (InterfaceID != mDNSInterface_Unicast && IsLocalDomain(qname)) { LogInfo("ShouldSuppressQuery: Query not suppressed for %##s, qtype %s, Local question", qname, DNSTypeName(qtype)); return mDNSfalse; }
 
 	// Skip Private domains as we have special addresses to get the hosts in the Private domain
 	AuthInfo = GetAuthInfoForName_internal(m, qname);
@@ -7083,7 +7092,7 @@
 		if (i->ip.type != iptype) continue;
 
 		if (!InterfaceID || (InterfaceID == mDNSInterface_LocalOnly) || (InterfaceID == mDNSInterface_P2P) ||
-			(i->InterfaceID == InterfaceID))
+			(InterfaceID == mDNSInterface_Unicast) || (i->InterfaceID == InterfaceID))
 			{
 			if (iptype == mDNSAddrType_IPv4 && !mDNSv4AddressIsLoopback(&i->ip.ip.v4) && !mDNSv4AddressIsLinkLocal(&i->ip.ip.v4))
 				{
diff --git a/mDNSShared/dns_sd.h b/mDNSShared/dns_sd.h
index 2ed91f0..7632a22 100644
--- a/mDNSShared/dns_sd.h
+++ b/mDNSShared/dns_sd.h
@@ -77,7 +77,7 @@
  */
 
 #ifndef _DNS_SD_H
-#define _DNS_SD_H 2581300
+#define _DNS_SD_H 2581400
 
 #ifdef  __cplusplus
     extern "C" {
