diff --git a/bindings/modulegen__gcc_ILP32.py b/bindings/modulegen__gcc_ILP32.py
index 8a75ad4..f6a2843 100644
--- a/bindings/modulegen__gcc_ILP32.py
+++ b/bindings/modulegen__gcc_ILP32.py
@@ -5727,6 +5727,11 @@
                    'ns3::TypeId', 
                    [], 
                    is_const=True, is_virtual=True)
+    ## ndn-interest-header.h (module 'ndnSIM'): static ns3::Ptr<ns3::ndn::InterestHeader> ns3::ndn::InterestHeader::GetInterest(ns3::Ptr<ns3::Packet> packet) [member function]
+    cls.add_method('GetInterest', 
+                   'ns3::Ptr< ns3::ndn::InterestHeader >', 
+                   [param('ns3::Ptr< ns3::Packet >', 'packet')], 
+                   is_static=True)
     ## ndn-interest-header.h (module 'ndnSIM'): ns3::Time ns3::ndn::InterestHeader::GetInterestLifetime() const [member function]
     cls.add_method('GetInterestLifetime', 
                    'ns3::Time', 
diff --git a/bindings/modulegen__gcc_LP64.py b/bindings/modulegen__gcc_LP64.py
index 8a75ad4..f6a2843 100644
--- a/bindings/modulegen__gcc_LP64.py
+++ b/bindings/modulegen__gcc_LP64.py
@@ -5727,6 +5727,11 @@
                    'ns3::TypeId', 
                    [], 
                    is_const=True, is_virtual=True)
+    ## ndn-interest-header.h (module 'ndnSIM'): static ns3::Ptr<ns3::ndn::InterestHeader> ns3::ndn::InterestHeader::GetInterest(ns3::Ptr<ns3::Packet> packet) [member function]
+    cls.add_method('GetInterest', 
+                   'ns3::Ptr< ns3::ndn::InterestHeader >', 
+                   [param('ns3::Ptr< ns3::Packet >', 'packet')], 
+                   is_static=True)
     ## ndn-interest-header.h (module 'ndnSIM'): ns3::Time ns3::ndn::InterestHeader::GetInterestLifetime() const [member function]
     cls.add_method('GetInterestLifetime', 
                    'ns3::Time', 
diff --git a/model/ndn-interest-header.cc b/model/ndn-interest-header.cc
index 39c87e9..d0ebaab 100644
--- a/model/ndn-interest-header.cc
+++ b/model/ndn-interest-header.cc
@@ -27,6 +27,7 @@
 
 #include "ns3/log.h"
 #include "ns3/unused.h"
+#include "ns3/packet.h"
 #include "../helper/ndn-encoding-helper.h"
 #include "../helper/ndn-decoding-helper.h"
 
@@ -77,6 +78,15 @@
 {
 }
 
+Ptr<InterestHeader>
+InterestHeader::GetInterest (Ptr<Packet> packet)
+{
+  Ptr<InterestHeader> interest = Create<InterestHeader> ();
+  packet->RemoveHeader (*interest);
+
+  return interest;
+}
+
 void
 InterestHeader::SetName (Ptr<NameComponents> name)
 {
diff --git a/model/ndn-interest-header.h b/model/ndn-interest-header.h
index df48fb0..f645255 100644
--- a/model/ndn-interest-header.h
+++ b/model/ndn-interest-header.h
@@ -34,6 +34,9 @@
 #include "ndn-name-components.h"
 
 namespace ns3 {
+
+class Packet;
+
 namespace ndn {
   
 /**
@@ -385,6 +388,12 @@
    */ 
   virtual uint32_t Deserialize (Buffer::Iterator start);
 
+  /**
+   * @brief Cheat for python bindings
+   */
+  static Ptr<InterestHeader>
+  GetInterest (Ptr<Packet> packet);
+  
 private:
   Ptr<NameComponents> m_name;    ///< Interest name
   int32_t m_minSuffixComponents; ///< Minimum suffix components. not used if negative
