diff --git a/rwthdns.go b/rwthdns.go
index 210d5fbf461f6f97b1a756db7adf1ebf64df6276..f84b601f685b4237fcd0a7a1b21ed7a392a4130a 100644
--- a/rwthdns.go
+++ b/rwthdns.go
@@ -3,6 +3,7 @@ package rwthdns
 import (
 	"encoding/json"
 	"fmt"
+	"io"
 	"net/http"
 	"net/url"
 	"strings"
@@ -155,9 +156,18 @@ func (c *Client) CreateRecord(content string) (Record, error) {
 		return Record{}, err
 	}
 
-	dec := json.NewDecoder(res.Body)
+	b, err := io.ReadAll(res.Body)
+	if err != nil {
+		return Record{}, err
+	}
+	bs := string(b)
+
+	dec := json.NewDecoder(strings.NewReader(bs))
 	var r Record
 	err = dec.Decode(&r)
+	if err != nil {
+		err = fmt.Errorf("Decode: %w (%s)", err, bs)
+	}
 	return r, err
 }