diff --git a/scapy/layers/ipsec.py b/scapy/layers/ipsec.py
index 4ae3f070d251698966a2c8149c89746585bd28cd..692a6e1879a1f2cfe4955fb38ecdf6b98711f4c4 100644
--- a/scapy/layers/ipsec.py
+++ b/scapy/layers/ipsec.py
@@ -111,6 +111,7 @@ class ESP(Packet):
 bind_layers(IP, ESP, proto=socket.IPPROTO_ESP)
 bind_layers(IPv6, ESP, nh=socket.IPPROTO_ESP)
 bind_layers(UDP, ESP, dport=4500)  # NAT-Traversal encapsulation
+bind_layers(UDP, ESP, sport=4500)  # NAT-Traversal encapsulation
 
 #------------------------------------------------------------------------------
 class _ESPPlain(Packet):
@@ -977,4 +978,4 @@ class SecurityAssociation(object):
         elif self.proto is AH and pkt.haslayer(AH):
             return self._decrypt_ah(pkt, verify=verify)
         else:
-            return pkt
+            raise TypeError('%s has no %s layer' % (pkt, self.proto.name))
diff --git a/test/ipsec.uts b/test/ipsec.uts
index 8b38695fcd5369c1d13db9b6d8e7de79c3caacc5..01f13571417ecfc6aef0a2bcd0d306ca4a2de6d2 100644
--- a/test/ipsec.uts
+++ b/test/ipsec.uts
@@ -419,7 +419,7 @@ except IPSecIntegrityError, err:
 + IPv4 / AH
 
 #######################################
-= IPv4 / AH - Transport - AES-XCBC-96
+= IPv4 / AH - Transport - HMAC-SHA1-96
 
 p = IP(src='1.1.1.1', dst='2.2.2.2')
 p /= TCP(sport=45012, dport=80)
@@ -428,7 +428,7 @@ p = IP(str(p))
 p
 
 sa = SecurityAssociation(AH, spi=0x222,
-                         auth_algo='AES-XCBC-96', auth_key='sixteenbytes key')
+                         auth_algo='HMAC-SHA1-96', auth_key='sixteenbytes key')
 
 e = sa.encrypt(p)
 e
@@ -453,7 +453,7 @@ d
 assert(d[TCP] == p[TCP])
 
 #######################################
-= IPv4 / AH - Transport - AES-XCBC-96 - altered packet
+= IPv4 / AH - Transport - HMAC-SHA1-96 - altered packet
 
 p = IP(src='1.1.1.1', dst='2.2.2.2')
 p /= TCP(sport=45012, dport=80)
@@ -462,7 +462,7 @@ p = IP(str(p))
 p
 
 sa = SecurityAssociation(AH, spi=0x222,
-                         auth_algo='AES-XCBC-96', auth_key='sixteenbytes key')
+                         auth_algo='HMAC-SHA1-96', auth_key='sixteenbytes key')
 
 e = sa.encrypt(p)
 e