diff --git a/home/blocked_services.go b/home/blocked_services.go
index cede4d4d..5c14499d 100644
--- a/home/blocked_services.go
+++ b/home/blocked_services.go
@@ -135,6 +135,12 @@ func initServices() {
 	}
 }
 
+// Return TRUE if a blocked service name is known
+func blockedSvcKnown(s string) bool {
+	_, ok := serviceRules[s]
+	return ok
+}
+
 // ApplyBlockedServices - set blocked services settings for this DNS request
 func ApplyBlockedServices(setts *dnsfilter.RequestFilteringSettings, list []string) {
 	setts.ServicesRules = []dnsfilter.ServiceEntry{}
diff --git a/home/clients.go b/home/clients.go
index 0de73af7..1c2b795b 100644
--- a/home/clients.go
+++ b/home/clients.go
@@ -140,11 +140,18 @@ func (clients *clientsContainer) addFromConfig(objects []clientObject) {
 			SafeBrowsingEnabled: cy.SafeBrowsingEnabled,
 
 			UseOwnBlockedServices: !cy.UseGlobalBlockedServices,
-			BlockedServices:       cy.BlockedServices,
 
 			Upstreams: cy.Upstreams,
 		}
 
+		for _, s := range cy.BlockedServices {
+			if !blockedSvcKnown(s) {
+				log.Debug("Clients: skipping unknown blocked-service '%s'", s)
+				continue
+			}
+			cli.BlockedServices = append(cli.BlockedServices, s)
+		}
+
 		for _, t := range cy.Tags {
 			if !clients.tagKnown(t) {
 				log.Debug("Clients: skipping unknown tag '%s'", t)
diff --git a/home/config.go b/home/config.go
index dfcc6842..fb28a8ba 100644
--- a/home/config.go
+++ b/home/config.go
@@ -233,6 +233,16 @@ func parseConfig() error {
 		return err
 	}
 
+	bsvcs := []string{}
+	for _, s := range config.DNS.BlockedServices {
+		if !blockedSvcKnown(s) {
+			log.Debug("skipping unknown blocked-service '%s'", s)
+			continue
+		}
+		bsvcs = append(bsvcs, s)
+	}
+	config.DNS.BlockedServices = bsvcs
+
 	if !checkFiltersUpdateIntervalHours(config.DNS.FiltersUpdateIntervalHours) {
 		config.DNS.FiltersUpdateIntervalHours = 24
 	}