diff --git a/scapy/packet.py b/scapy/packet.py
index 8d5bbc7591b8fa923e6d8a7bd4f34501e8f9eceb..0b211ec68b2fb533dc0cda644d72bf64d6c75f26 100644
--- a/scapy/packet.py
+++ b/scapy/packet.py
@@ -1283,7 +1283,8 @@ def ls(obj=None, case_sensitive=False, verbose=False):
                 attrs = []
                 long_attrs = []
                 while isinstance(cur_fld, (Emph, ConditionalField)):
-                    attrs.append(cur_fld.__class__.__name__[:4])
+                    if isinstance(cur_fld, ConditionalField):
+                        attrs.append(cur_fld.__class__.__name__[:4])
                     cur_fld = cur_fld.fld
                 if verbose and isinstance(cur_fld, EnumField) \
                    and hasattr(cur_fld, "i2s"):