diff --git a/lib/liudesk_cmdb.rb b/lib/liudesk_cmdb.rb
index 3e0ad142ab6786e6f0a99924041f7f32f40b7096..50e993566e373f7e8f919275acd0a952acbad394 100644
--- a/lib/liudesk_cmdb.rb
+++ b/lib/liudesk_cmdb.rb
@@ -41,6 +41,8 @@ module LiudeskCMDB
         NotAcceptableError.new body, code
       when "422"
         UnprocessableError.new body, code
+      when "500"
+        ServerError.new body, code
       else
         RequestError.new body, code
       end
diff --git a/lib/liudesk_cmdb/client.rb b/lib/liudesk_cmdb/client.rb
index 0ef52c37b62598405f091576130a92d23a961ee8..7fe52037ac513e8cfbe84a51beec1c5df216f6e1 100644
--- a/lib/liudesk_cmdb/client.rb
+++ b/lib/liudesk_cmdb/client.rb
@@ -80,14 +80,14 @@ module LiudeskCMDB
       response.body
     rescue Net::HTTPClientException, Net::HTTPFatalError
       begin
-        body = JSON.parse(response.body) unless response.body.empty?
+        resp = JSON.parse(response.body) unless response.body.empty?
       rescue StandardError => e
         logger.debug "Failed to parse error response - #{e.class}: #{e}"
-        body = response.body
-        body = response.message if body.nil? || body.empty?
+        resp = response.body
+        resp = response.message if resp.nil? || resp.empty?
       end
 
-      raise LiudeskCMDB::RequestError.create(body, response.code)
+      raise LiudeskCMDB::RequestError.create(resp, response.code)
     end
 
     def pretty_print_instance_variables