diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c
index 209e78b34b6f003531eaa63026366288597dab1b..75378f6fc7b39617692522db9e14857d3d17d49a 100644
--- a/src/sbbs3/services.c
+++ b/src/sbbs3/services.c
@@ -1523,7 +1523,7 @@ static service_t* read_services_ini(service_t* service, char* services_ini, DWOR
 		serv.js_yield_interval=iniGetInteger(fp,sec_list[i]	,strJavaScriptYieldInterval	,startup->js_yield_interval);
 
 		for(j=0;j<*services;j++)
-			if(service[j].port==serv.port && service[j].options==serv.options)
+			if(service[j].port==serv.port && (service[j].options&SERVICE_OPT_UDP)==(serv.options&SERVICE_OPT_UDP))
 				break;
 		if(j<*services)	{ /* ignore duplicate services */
 			lprintf(LOG_NOTICE,"Ignoring duplicate service: %s",sec_list[i]);