diff --git a/setup.py b/setup.py
index <HASH>..<HASH> 100644
--- a/setup.py
+++ b/setup.py
@@ -14,7 +14,7 @@ except IOError:
 setup(
 
     name='python-skydrive',
-    version='13.11.0',
+    version='13.11.1',
     author='Mike Kazantsev, Antonio Chen',
     author_email='mk.fraggod@gmail.com',
     license='WTFPL',
diff --git a/skydrive/api_v5.py b/skydrive/api_v5.py
index <HASH>..<HASH> 100644
--- a/skydrive/api_v5.py
+++ b/skydrive/api_v5.py
@@ -156,7 +156,11 @@ class SkyDriveHTTPClient(object):
                 res.raise_for_status()
             return json.loads(res.text) if not raw else res.content
         except requests.RequestException as err:
-            raise raise_for.get(code, ProtocolError)(code, err.message)
+            try:
+                message = res.json()['error']
+            except (ValueError, KeyError):
+                message = err.message
+            raise raise_for.get(code, ProtocolError)(code, message)
 
 
 class SkyDriveAuth(SkyDriveHTTPClient):
api.request: return more descriptive error messages, derived from returned json, if possible