diff --git a/postgrestutils/client/postgrestclient.py b/postgrestutils/client/postgrestclient.py
index 8291c0e76b7f695c03027fca9bfe6c0f6fcb588d..413f5c8800a646519bcdee7c6e60fc5ba92563e5 100644
--- a/postgrestutils/client/postgrestclient.py
+++ b/postgrestutils/client/postgrestclient.py
@@ -142,9 +142,8 @@ class LazyPostgrestJsonResult:
             if key.stop is not None and key.stop <= start:
                 return list()
             range = '{start}-{stop}'.format(start=start, stop=key.stop - 1 if key.stop is not None else '')
-        else:
-            range = '{0}-{0}'.format(key)
-        return self._fetch_range(range)
+            return self._fetch_range(range)
+        return self._fetch_range('{0}-{0}'.format(key))[0]  # single element requested, return dict
 
     def refresh_from_pgrest(self):
         """Lazily refresh data from PostgREST"""