diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9c0e95539736d21047997c81215c1c79cf2ad53e..8c4088dd57c84783c7ed27756c1ef8dc37a97919 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,7 @@
 
 - [#1195](https://github.com/influxdata/telegraf/pull/1195): Docker panic on timeout. Thanks @zstyblik!
 - [#1211](https://github.com/influxdata/telegraf/pull/1211): mongodb input. Fix possible panic. Thanks @kols!
+- [#1228](https://github.com/influxdata/telegraf/pull/1228): Fix service plugin host tag overwrite.
 
 ## v0.13 [2016-05-11]
 
diff --git a/agent/accumulator.go b/agent/accumulator.go
index 70744359f3fee384decbc45ee2f4ce01f876efa7..6b2ffde2d4374147333e8ed1da7ec23bd78ff420 100644
--- a/agent/accumulator.go
+++ b/agent/accumulator.go
@@ -84,13 +84,17 @@ func (ac *accumulator) AddFields(
 	if tags == nil {
 		tags = make(map[string]string)
 	}
-	// Apply daemon-wide tags if set
-	for k, v := range ac.defaultTags {
-		tags[k] = v
-	}
 	// Apply plugin-wide tags if set
 	for k, v := range ac.inputConfig.Tags {
-		tags[k] = v
+		if _, ok := tags[k]; !ok {
+			tags[k] = v
+		}
+	}
+	// Apply daemon-wide tags if set
+	for k, v := range ac.defaultTags {
+		if _, ok := tags[k]; !ok {
+			tags[k] = v
+		}
 	}
 	ac.inputConfig.Filter.FilterTags(tags)