diff --git a/mercurial/revlogutils/deltas.py b/mercurial/revlogutils/deltas.py
index 07a66c1387d171d3532526c1aa85eeee83763b46_bWVyY3VyaWFsL3JldmxvZ3V0aWxzL2RlbHRhcy5weQ==..324ba8b14d7836a5cd4c5586f270391725168c0a_bWVyY3VyaWFsL3JldmxvZ3V0aWxzL2RlbHRhcy5weQ== 100644
--- a/mercurial/revlogutils/deltas.py
+++ b/mercurial/revlogutils/deltas.py
@@ -593,7 +593,10 @@
         group = []
         for rev in temptative:
             # skip over empty delta (no need to include them in a chain)
-            while not (rev == nullrev or rev in tested or deltalength(rev)):
+            while (revlog._generaldelta
+                   and not (rev == nullrev
+                            or rev in tested
+                            or deltalength(rev))):
                 tested.add(rev)
                 rev = deltaparent(rev)
             # filter out revision we tested already