diff --git a/ekms/internal/kms/util.go b/ekms/internal/kms/util.go
index 11892269d4c15e40a862b5bdb6f8e8c350c5333a..52671acbe95d1ce57415d0f0321ee233bcf7c461 100644
--- a/ekms/internal/kms/util.go
+++ b/ekms/internal/kms/util.go
@@ -67,10 +67,11 @@ func sendKmsInfoMessage(url string, json []byte) error {
 	request.Header.Set("Content-Type", "application/json; charset=UTF-8")
 	client := &http.Client{}
 	response, err := client.Do(request)
-	defer response.Body.Close()
 	if err != nil {
+		response.Body.Close()
 		return err
 	}
+	defer response.Body.Close()
 	return nil
 }