--- MailSvr.cpp
+++ MailSvr.cpp
@@ -302,9 +302,11 @@
 			iDisable++;
 			break;
 
+#ifdef IPV6
 		case '6':
 			iFamily = AF_INET6;
 			break;
+#endif
 		}
 	}
 
@@ -389,10 +391,11 @@
 
 		case '-':
 			return 0;
-
+#ifdef IPV6
 		case '6':
 			iFamily = AF_INET6;
 			break;
+#endif
 		}
 	}
 	if (MscCreateServerSockets(ThCfgCTRLS.iNumAddr, ThCfgCTRLS.SvrAddr, iFamily,
@@ -489,9 +492,11 @@
 			iDisable++;
 			break;
 
+#ifdef IPV6
 		case '6':
 			iFamily = AF_INET6;
 			break;
+#endif
 		}
 	}
 
@@ -624,9 +629,11 @@
 			iDisable++;
 			break;
 
+#ifdef IPV6
 		case '6':
 			iFamily = AF_INET6;
 			break;
+#endif
 		}
 	}
 
@@ -715,9 +722,11 @@
 		case '-':
 			return 0;
 
+#ifdef IPV6
 		case '6':
 			iFamily = AF_INET6;
 			break;
+#endif
 		}
 	}
 	if (MscCreateServerSockets(ThCfgPOP3S.iNumAddr, ThCfgPOP3S.SvrAddr, iFamily,
@@ -838,9 +847,11 @@
 			iDisable++;
 			break;
 
+#ifdef IPV6
 		case '6':
 			iFamily = AF_INET6;
 			break;
+#endif
 		}
 	}
 
@@ -927,9 +938,11 @@
 		case '-':
 			return 0;
 
+#ifdef IPV6
 		case '6':
 			iFamily = AF_INET6;
 			break;
+#endif
 		}
 	}
 	if (MscCreateServerSockets(ThCfgSMTPS.iNumAddr, ThCfgSMTPS.SvrAddr, iFamily,
@@ -1351,9 +1364,11 @@
 			iAddrFamily = AF_INET;
 			break;
 
+#ifdef IPV6
 		case '6':
 			iAddrFamily = AF_INET6;
 			break;
+#endif
 
 		case '5':
 			iAddrFamily = SYS_INET46;
--- SysDepCommon.cpp
+++ SysDepCommon.cpp
@@ -43,6 +43,7 @@
 		AddrInfo.iSize = sizeof(struct sockaddr_in);
 		break;
 
+#ifdef IPV6
 	case AF_INET6:
 		ZeroData(AddrInfo);
 		SYS_IN6(&AddrInfo)->sin6_family = iFamily;
@@ -50,6 +51,7 @@
 		SYS_IN6(&AddrInfo)->sin6_addr = in6addr_any;
 		AddrInfo.iSize = sizeof(struct sockaddr_in6);
 		break;
+#endif
 
 	default:
 		ErrSetErrorCode(ERR_INVALID_INET_ADDR);
@@ -70,8 +72,10 @@
 	case AF_INET:
 		return ntohs(SYS_IN4(&AddrInfo)->sin_port);
 
+#ifdef IPV6
 	case AF_INET6:
 		return ntohs(SYS_IN6(&AddrInfo)->sin6_port);
+#endif
 	}
 
 	ErrSetErrorCode(ERR_INVALID_INET_ADDR);
@@ -85,9 +89,11 @@
 		SYS_IN4(&AddrInfo)->sin_port = htons((short) iPortNo);
 		break;
 
+#ifdef IPV6
 	case AF_INET6:
 		SYS_IN6(&AddrInfo)->sin6_port = htons((short) iPortNo);
 		break;
+#endif
 
 	default:
 		ErrSetErrorCode(ERR_INVALID_INET_ADDR);
@@ -136,16 +142,20 @@
 	     pCRes = pCRes->ai_next) {
 		if (pCRes->ai_addr->sa_family == AF_INET)
 			pRes4 = pCRes;
+#ifdef IPV6
 		else if (pCRes->ai_addr->sa_family == AF_INET6)
 			pRes6 = pCRes;
+#endif
 	}
 	switch (iFamily) {
 	case AF_INET:
 		pCRes = pRes4;
 		break;
+#ifdef IPV6
 	case AF_INET6:
 		pCRes = pRes6;
 		break;
+#endif
 	case SYS_INET46:
 		if ((pCRes = pRes4) == NULL)
 			pCRes = pRes6;
@@ -239,6 +249,7 @@
 			    pAddr[3], pAddr[2], pAddr[1], pAddr[0]);
 		break;
 
+#ifdef IPV6
 	case AF_INET6:
 		pAddr = (SYS_UINT8 const *) &SYS_IN6(&AddrInfo)->sin6_addr;
 		for (i = 15, pszCur = pszRevIP; i >= 0 && iSize > 4;
@@ -246,6 +257,7 @@
 			SysSNPrintf(pszCur, iSize, "%x.%x.", pAddr[i] & 0xf,
 				    pAddr[i] >> 4);
 		break;
+#endif
 
 	default:
 		ErrSetErrorCode(ERR_INVALID_INET_ADDR);
@@ -261,9 +273,11 @@
 		*piSize = (int) sizeof(SYS_IN4(&AddrInfo)->sin_addr);
 		return &SYS_IN4(&AddrInfo)->sin_addr;
 
+#ifdef IPV6
 	case AF_INET6:
 		*piSize = (int) sizeof(SYS_IN6(&AddrInfo)->sin6_addr);
 		return &SYS_IN6(&AddrInfo)->sin6_addr;
+#endif
 	}
 
 	ErrSetErrorCode(ERR_INVALID_INET_ADDR);
@@ -275,7 +289,11 @@
 	int i, iASize;
 	SYS_UINT8 const *pAData;
 
+#ifdef IPV6
 	if (SysGetAddrFamily(Addr) != AF_INET6 ||
+#else
+	if (
+#endif
 	    (pAData = (SYS_UINT8 const *) SysInetAddrData(Addr, &iASize)) == NULL)
 		return 0;
 	/*
@@ -324,6 +342,7 @@
 		 * Need some marshaling here, since families are different.
 		 * We only support IPV4 and IPV6, so it does not look that bad.
 		 */
+#ifdef IPV6
 		if (iAFamily == AF_INET) {
 			if (iTAFamily == AF_INET6) {
 				if (!SysInetIPV6CompatIPV4(TestAddr))
@@ -341,6 +360,7 @@
 			} else
 				return 0;
 		} else
+#endif
 			return 0;
 	}
 	for (i = 0; i < iASize; i++)
