diff --git a/plugin/forward/setup.go b/plugin/forward/setup.go
index e8211abf8..2253f6038 100644
--- a/plugin/forward/setup.go
+++ b/plugin/forward/setup.go
@@ -177,7 +177,10 @@ func parseBlock(c *caddy.Controller, f *Forward) error {
 			return c.ArgErr()
 		}
 		for i := 0; i < len(ignore); i++ {
-			f.ignored = append(f.ignored, plugin.Host(ignore[i]).NormalizeExact()...)
+			ignores := plugin.Host(ignore[i]).NormalizeExact()
+			for _, ignored := range ignores {
+				f.ignored[ignored] = struct{}{}
+			}
 		}
 	case "max_fails":
 		if !c.NextArg() {