diff --git a/pygit2.c b/pygit2.c
index 1ec238b..d8d65d8 100644
--- a/pygit2.c
+++ b/pygit2.c
@@ -262,6 +262,12 @@ lookup_object_prefix(Repository *repo, const git_oid *oid, size_t len,
     return (PyObject*)py_obj;
 }
 
+static PyObject *
+lookup_object(Repository *repo, const git_oid *oid, git_otype type)
+{
+    return lookup_object_prefix(repo, oid, GIT_OID_HEXSZ, type);
+}
+
 static git_otype
 int_to_loose_object_type(int type_id)
 {
@@ -1248,7 +1254,7 @@ Commit_get_parents(Commit *commit)
             Error_set(GIT_ENOTFOUND);
             return NULL;
         }
-        obj = git_oid_to_python(parent_oid);
+        obj = lookup_object(commit->repo, parent_oid, GIT_OBJ_COMMIT);
         if (obj == NULL) {
             Py_DECREF(list);
             return NULL;
diff --git a/test/test_commit.py b/test/test_commit.py
index 51dff73..526d7d1 100644
--- a/test/test_commit.py
+++ b/test/test_commit.py
@@ -48,7 +48,7 @@ class CommitTest(utils.BareRepoTestCase):
         parents = commit.parents
         self.assertEqual(1, len(parents))
         self.assertEqual('c2792cfa289ae6321ecf2cd5806c2194b0fd070c',
-                         utils.oid_to_hex(parents[0]))
+                         parents[0].hex)
         self.assertEqual(None, commit.message_encoding)
         self.assertEqual(('Second test data commit.\n\n'
                           'This commit has some additional text.\n'),
@@ -93,7 +93,7 @@ class CommitTest(utils.BareRepoTestCase):
         self.assertEqualSignature(author, commit.author)
         self.assertEqual(tree, commit.tree.hex)
         self.assertEqual(1, len(commit.parents))
-        self.assertEqual(COMMIT_SHA, utils.oid_to_hex(commit.parents[0]))
+        self.assertEqual(COMMIT_SHA, commit.parents[0].hex)
 
     def test_new_commit_encoding(self):
         repo = self.repo
@@ -119,7 +119,7 @@ class CommitTest(utils.BareRepoTestCase):
         self.assertEqualSignature(author, commit.author)
         self.assertEqual(tree, commit.tree.hex)
         self.assertEqual(1, len(commit.parents))
-        self.assertEqual(COMMIT_SHA, utils.oid_to_hex(commit.parents[0]))
+        self.assertEqual(COMMIT_SHA, commit.parents[0].hex)
 
     def test_modify_commit(self):
         message = 'New commit.\n\nMessage.\n'