diff --git a/client.go b/client.go
index 19b69498a7a6dd08cb2deb013828aef94592d57d..84900c3388b38cf8a1bd09f4eaa4103b94ff4634 100644
--- a/client.go
+++ b/client.go
@@ -2,6 +2,8 @@ package bahn
 
 import (
 	"fmt"
+	"golang.org/x/net/html/charset"
+	"io"
 	"io/ioutil"
 	"net/http"
 	"strings"
@@ -176,8 +178,13 @@ func (c *ApiClient) Suggestions(line string, date time.Time) ([]Suggestion, erro
 		return suggestions, err
 	}
 
+	var utf8reader io.Reader
+	if utf8reader, err = charset.NewReader(response.Body, response.Header.Get("Content-Type")); err != nil {
+		return suggestions, nil
+	}
+
 	var content []byte
-	if content, err = ioutil.ReadAll(response.Body); err != nil {
+	if content, err = ioutil.ReadAll(utf8reader); err != nil {
 		return suggestions, err
 	}
 	strippedContent := string(content)