diff --git a/plugins/parsers/graphite/parser.go b/plugins/parsers/graphite/parser.go
index ebbbcd2805a5a657784c6317295895855526c2e6..42d617c7d9cc8d0296f391a23c95ed532cd9e382 100644
--- a/plugins/parsers/graphite/parser.go
+++ b/plugins/parsers/graphite/parser.go
@@ -86,8 +86,11 @@ func (p *GraphiteParser) Parse(buf []byte) ([]telegraf.Metric, error) {
 
 		// Trim the buffer, even though there should be no padding
 		line := strings.TrimSpace(string(buf))
-		metric, err := p.ParseLine(line)
+		if line == "" {
+			continue
+		}
 
+		metric, err := p.ParseLine(line)
 		if err == nil {
 			metrics = append(metrics, metric)
 		} else {