diff --git a/model/ccnx-content-object-header.cc b/model/ccnx-content-object-header.cc
index 2a248e1..e871e23 100644
--- a/model/ccnx-content-object-header.cc
+++ b/model/ccnx-content-object-header.cc
@@ -57,6 +57,7 @@
 const CcnxNameComponents&
 CcnxContentObjectHeader::GetName () const
 {
+  if (m_name==0) throw CcnxContentObjectHeaderException();
   return *m_name;
 }
 
@@ -88,10 +89,9 @@
 void
 CcnxContentObjectHeader::Print (std::ostream &os) const
 {
-  os << "<ContentObject><Name>" << *m_name << "</Name><Content>";
+  os << "<ContentObject><Name>" << GetName () << "</Name><Content>";
 }
 
-
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 
 CcnxContentObjectTail::CcnxContentObjectTail ()
@@ -102,8 +102,8 @@
 CcnxContentObjectTail::GetTypeId (void)
 {
   static TypeId tid = TypeId ("ns3::CcnxContentObjectTail")
-    .SetParent<Header> ()
-    .AddConstructor<CcnxContentObjectHeader> ()
+    .SetParent<Trailer> ()
+    .AddConstructor<CcnxContentObjectTail> ()
     ;
   return tid;
 }
@@ -130,6 +130,8 @@
 CcnxContentObjectTail::Serialize (Buffer::Iterator start) const
 {
   Buffer::Iterator i = start;
+  i.Prev (2); // Trailer interface requires us to go backwards
+  
   i.WriteU8 (0x00); // </Content>
   i.WriteU8 (0x00); // </ContentObject>
 }
@@ -138,6 +140,8 @@
 CcnxContentObjectTail::Deserialize (Buffer::Iterator start)
 {
   Buffer::Iterator i = start;
+  i.Prev (2); // Trailer interface requires us to go backwards
+
   uint8_t __attribute__ ((unused)) closing_tag_content = i.ReadU8 ();
   NS_ASSERT_MSG (closing_tag_content==0, "Should be a closing tag </Content> (0x00)");
 
