diff --git a/Modules/_sqlite/row.c b/Modules/_sqlite/row.c
index 14c148e..4a87a04 100644
--- a/Modules/_sqlite/row.c
+++ b/Modules/_sqlite/row.c
@@ -67,7 +67,7 @@
 {
     long _idx;
     char* key;
-    int nitems, i;
+    Py_ssize_t nitems, i;
     char* compare_key;
 
     char* p1;
@@ -88,7 +88,10 @@
         nitems = PyTuple_Size(self->description);
 
         for (i = 0; i < nitems; i++) {
-            compare_key = _PyUnicode_AsString(PyTuple_GET_ITEM(PyTuple_GET_ITEM(self->description, i), 0));
+            PyObject *obj;
+            obj = PyTuple_GET_ITEM(self->description, i);
+            obj = PyTuple_GET_ITEM(obj, 0);
+            compare_key = _PyUnicode_AsString(obj);
             if (!compare_key) {
                 return NULL;
             }
@@ -120,10 +123,12 @@
 
         PyErr_SetString(PyExc_IndexError, "No item with that key");
         return NULL;
-    } else if (PySlice_Check(idx)) {
+    }
+    else if (PySlice_Check(idx)) {
         PyErr_SetString(PyExc_ValueError, "slices not implemented, yet");
         return NULL;
-    } else {
+    }
+    else {
         PyErr_SetString(PyExc_IndexError, "Index must be int or string");
         return NULL;
     }
