diff --git a/rwthdns.go b/rwthdns.go
index f84b601f685b4237fcd0a7a1b21ed7a392a4130a..e72c269f4f154accf03f9da569d73f39872c3b82 100644
--- a/rwthdns.go
+++ b/rwthdns.go
@@ -141,9 +141,17 @@ func (c *Client) DeployZone(zone int) (Zone, error) {
 		return Zone{}, err
 	}
 
-	dec := json.NewDecoder(res.Body)
+	b, err := io.ReadAll(res.Body)
+	if err != nil {
+		return Zone{}, err
+	}
+	bs := string(b)
+
+	dec := json.NewDecoder(strings.NewReader(bs))
 	var z Zone
 	err = dec.Decode(&z)
+	if err != nil {
+		err = fmt.Errorf("Decode: %w (%s)", err, bs)
 	return z, err
 }