diff --git a/scapy/contrib/mpls.py b/scapy/contrib/mpls.py
index 640a0c57239e903a0b488589de58d0ae12a8e4a9..6af1d4ac146087da84771c012495a741cd234f85 100644
--- a/scapy/contrib/mpls.py
+++ b/scapy/contrib/mpls.py
@@ -18,6 +18,8 @@ class MPLS(Packet):
 
    def guess_payload_class(self, payload):
        if len(payload) >= 1:
+           if not self.s:
+              return MPLS
            ip_version = (ord(payload[0]) >> 4) & 0xF
            if ip_version == 4:
                return IP