diff --git a/scapy/layers/ppp.py b/scapy/layers/ppp.py
index 50c68465565ff77e57e130e9d8db9347023297a7..78504f94fee11fc88c860c7ba568c76e9bc52288 100644
--- a/scapy/layers/ppp.py
+++ b/scapy/layers/ppp.py
@@ -13,6 +13,7 @@ import struct
 from scapy.packet import *
 from scapy.layers.l2 import *
 from scapy.layers.inet import *
+from scapy.layers.inet6 import IPv6
 from scapy.fields import *
 
 class PPPoE(Packet):
@@ -340,7 +341,8 @@ bind_layers( CookedLinux,   PPPoED,        proto=0x8863)
 bind_layers( CookedLinux,   PPPoE,         proto=0x8864)
 bind_layers( PPPoE,         PPP,           code=0)
 bind_layers( HDLC,          PPP,           )
-bind_layers( PPP,           IP,            proto=33)
+bind_layers( PPP,           IP,            proto=0x0021)
+bind_layers( PPP,           IPv6,          proto=0x0057)
 bind_layers( PPP,           PPP_IPCP,      proto=0x8021)
 bind_layers( PPP,           PPP_ECP,       proto=0x8053)
 bind_layers( Ether,         PPP_IPCP,      type=0x8021)