diff --git a/scapy/asn1/ber.py b/scapy/asn1/ber.py
index b23184d6ce07c5554bf0420b0e5085f6df3993fe..3a51187bdbdc671048a2e375007a20f21e543c05 100644
--- a/scapy/asn1/ber.py
+++ b/scapy/asn1/ber.py
@@ -90,6 +90,8 @@ def BER_num_enc(l, size=1):
             size -= 1
         return "".join([chr(k) for k in x])
 def BER_num_dec(s, cls_id=0):
+        if len(s) == 0:
+            raise BER_Decoding_Error("BER_num_dec: got empty string", remaining=s)
         x = cls_id
         for i, c in enumerate(s):
             c = ord(c)
@@ -445,7 +447,7 @@ class BERcodec_IPADDRESS(BERcodec_STRING):
         try:
             ipaddr_ascii = inet_ntoa(s)
         except Exception:
-            raise BER_Decoding_Error("IP address could not be decoded", decoded=obj)
+            raise BER_Decoding_Error("IP address could not be decoded", remaining=s)
         return cls.asn1_object(ipaddr_ascii), t
 
 class BERcodec_COUNTER32(BERcodec_INTEGER):
diff --git a/scapy/layers/inet6.py b/scapy/layers/inet6.py
index 4fa9314767f1facc52f3c2c3de2a964b8a4f564b..bbfc1c8d820aaf1e438a2b9e530cbdda2ac0891b 100644
--- a/scapy/layers/inet6.py
+++ b/scapy/layers/inet6.py
@@ -366,7 +366,7 @@ class _IPv6GuessPayload:
     def default_payload_class(self,p):
         if self.nh == 58: # ICMPv6
             t = ord(p[0])
-            if len(p) > 2 and t == 139 or t == 140: # Node Info Query 
+            if len(p) > 2 and (t == 139 or t == 140): # Node Info Query
                 return _niquery_guesser(p)
             if len(p) >= icmp6typesminhdrlen.get(t, sys.maxint): # Other ICMPv6 messages
                 return get_cls(icmp6typescls.get(t,"Raw"), "Raw")