diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
index 67b6f1144e90fa2ac0aa461efa283eb3e818bb6c_bWVyY3VyaWFsL2NtZHV0aWwucHk=..254f55b64e318bb595e147bda8247a32d5b09498_bWVyY3VyaWFsL2NtZHV0aWwucHk= 100644
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -223,7 +223,7 @@
     r = None
     if repo:
         if cl:
-            r = repo.changelog
+            r = repo.unfiltered().changelog
         elif mf:
             r = repo.manifest
         elif file_:
diff --git a/tests/test-obsolete.t b/tests/test-obsolete.t
index 67b6f1144e90fa2ac0aa461efa283eb3e818bb6c_dGVzdHMvdGVzdC1vYnNvbGV0ZS50..254f55b64e318bb595e147bda8247a32d5b09498_dGVzdHMvdGVzdC1vYnNvbGV0ZS50 100644
--- a/tests/test-obsolete.t
+++ b/tests/test-obsolete.t
@@ -81,6 +81,12 @@
   $ hg debugobsolete --flag 12 `getid original_c`  `getid new_c` -d '56 12'
   $ hg log -r 'hidden()' --template '{rev}:{node|short} {desc}\n' --hidden
   2:245bde4270cd add original_c
+  $ hg debugrevlog -cd
+  # rev p1rev p2rev start   end deltastart base   p1   p2 rawsize totalsize compression heads
+      0    -1    -1     0    59          0    0    0    0      58        58           0     1
+      1     0    -1    59   118         59   59    0    0      58       116           0     1
+      2     1    -1   118   204         59   59   59    0      76       192           0     1
+      3     1    -1   204   271        204  204   59    0      66       258           0     2
   $ hg debugobsolete
   245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C {'date': '56 12', 'user': 'test'}