diff --git a/Lib/bsddb/test/test_basics.py b/Lib/bsddb/test/test_basics.py
index 24c4038..92cad06 100644
--- a/Lib/bsddb/test/test_basics.py
+++ b/Lib/bsddb/test/test_basics.py
@@ -665,6 +665,9 @@
         for log in logs:
             if verbose:
                 print 'log file: ' + log
+        if db.version >= (4,2):
+            logs = self.env.log_archive(db.DB_ARCH_REMOVE)
+            assert not logs
 
         self.txn = self.env.txn_begin()
 
diff --git a/Modules/_bsddb.c b/Modules/_bsddb.c
index c8edaa0..2df73fe 100644
--- a/Modules/_bsddb.c
+++ b/Modules/_bsddb.c
@@ -4371,13 +4371,17 @@
 {
     int flags=0;
     int err;
-    char **log_list_start, **log_list;
+    char **log_list = NULL;
     PyObject* list;
     PyObject* item = NULL;
 
     if (!PyArg_ParseTuple(args, "|i:log_archive", &flags))
         return NULL;
 
+    list = PyList_New(0);
+    if (list == NULL)
+        return NULL;
+
     CHECK_ENV_NOT_CLOSED(self);
     MYDB_BEGIN_ALLOW_THREADS;
 #if (DBVER >= 40)
@@ -4390,11 +4394,8 @@
     MYDB_END_ALLOW_THREADS;
     RETURN_IF_ERR();
 
-    list = PyList_New(0);
-    if (list == NULL)
-        return NULL;
-
     if (log_list) {
+        char **log_list_start;
         for (log_list_start = log_list; *log_list != NULL; ++log_list) {
             item = PyString_FromString (*log_list);
             if (item == NULL) {
@@ -5247,6 +5248,9 @@
     ADD_INT(d, DB_ARCH_ABS);
     ADD_INT(d, DB_ARCH_DATA);
     ADD_INT(d, DB_ARCH_LOG);
+#if (DBVER >= 42)
+    ADD_INT(d, DB_ARCH_REMOVE);
+#endif
 
     ADD_INT(d, DB_BTREE);
     ADD_INT(d, DB_HASH);
