diff --git a/src/reference.c b/src/reference.c
index 52c3618..c48167c 100644
--- a/src/reference.c
+++ b/src/reference.c
@@ -378,72 +378,6 @@ Reference_log(Reference *self)
     return (PyObject*)iter;
 }
 
-PyDoc_STRVAR(Reference_log_append__doc__,
-  "log_append(oid, committer, message[, encoding])\n"
-  "\n"
-  "Append a reflog entry to the reference. If the oid is None then keep\n"
-  "the current reference's oid. The message parameter may be None.");
-
-PyObject *
-Reference_log_append(Reference *self, PyObject *args)
-{
-    git_signature *committer;
-    const char *message = NULL;
-    git_reflog *reflog;
-    git_oid oid;
-    const git_oid *ref_oid;
-    int err;
-    PyObject *py_oid = NULL;
-    Signature *py_committer;
-    PyObject *py_message = NULL;
-    char *encoding = NULL;
-    git_repository *repo;
-
-    CHECK_REFERENCE(self);
-
-    /* Input parameters */
-    if (!PyArg_ParseTuple(args, "OO!O|s", &py_oid,
-                          &SignatureType, &py_committer,
-                          &py_message, &encoding))
-        return NULL;
-
-    if (py_oid == Py_None)
-        ref_oid = git_reference_target(self->reference);
-    else {
-        err = py_oid_to_git_oid_expand(self->repo->repo, py_oid, &oid);
-        if (err < 0)
-            return NULL;
-        ref_oid = &oid;
-    }
-
-    if (py_message != Py_None) {
-        message = py_str_to_c_str(py_message, encoding);
-        if (message == NULL)
-            return NULL;
-    }
-
-    /* Go */
-    repo = git_reference_owner(self->reference);
-    err = git_reflog_read(&reflog, repo, git_reference_name(self->reference));
-    if (err < 0) {
-        free((void *)message);
-        return NULL;
-    }
-
-    committer = (git_signature *)py_committer->signature;
-    err = git_reflog_append(reflog, ref_oid, committer, message);
-    if (!err)
-        err = git_reflog_write(reflog);
-
-    git_reflog_free(reflog);
-    free((void *)message);
-
-    if (err < 0)
-        return NULL;
-
-    Py_RETURN_NONE;
-}
-
 PyDoc_STRVAR(Reference_get_object__doc__,
   "get_object() -> object\n"
   "\n"
@@ -557,7 +491,6 @@ PyMethodDef Reference_methods[] = {
     METHOD(Reference, rename, METH_O),
     METHOD(Reference, resolve, METH_NOARGS),
     METHOD(Reference, log, METH_NOARGS),
-    METHOD(Reference, log_append, METH_VARARGS),
     METHOD(Reference, get_object, METH_NOARGS),
     METHOD(Reference, set_target, METH_VARARGS | METH_KEYWORDS),
     {NULL}
diff --git a/test/test_reflog.py b/test/test_reflog.py
deleted file mode 100644
index 1251c2b..0000000
--- a/test/test_reflog.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# -*- coding: UTF-8 -*-
-#
-# Copyright 2010-2014 The pygit2 contributors
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License, version 2,
-# as published by the Free Software Foundation.
-#
-# In addition to the permissions in the GNU General Public License,
-# the authors give you unlimited permission to link the compiled
-# version of this file into combinations with other programs,
-# and to distribute those combinations without any restriction
-# coming from the use of this file.  (The General Public License
-# restrictions do apply in other respects; for example, they cover
-# modification of the file, and distribution when not linked into
-# a combined executable.)
-#
-# This file is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; see the file COPYING.  If not, write to
-# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
-# Boston, MA 02110-1301, USA.
-
-"""Tests for reference log."""
-
-from __future__ import absolute_import
-from __future__ import unicode_literals
-
-from pygit2 import Signature
-from . import utils
-
-
-class ReflogTest(utils.RepoTestCase):
-
-    def test_log_append(self):
-        repo = self.repo
-        master = repo.lookup_reference("refs/heads/master")
-        signature = Signature('xtao', 'xutao@douban.com')
-        master.log_append(None, signature, 'reflog')
-        self.assertTrue('reflog' in [entry.message for entry in master.log()])