diff --git a/c_gen/templates/of_wire_buf.h b/c_gen/templates/of_wire_buf.h
index 0723454..2194321 100644
--- a/c_gen/templates/of_wire_buf.h
+++ b/c_gen/templates/of_wire_buf.h
@@ -62,21 +62,6 @@
     of_buffer_free_f free;
 } of_wire_buffer_t;
 
-/**
- * Decouples object from underlying wire buffer
- *
- * Called a 'slice' in some places.
- */
-typedef struct of_wire_object_s {
-    /** A pointer to the underlying buffer's management structure. */
-    of_wire_buffer_t *wbuf;  
-    /** The start offset for this object relative to the start of the
-     * underlying buffer */
-    int obj_offset;
-    /* Boolean, whether the object owns the wire buffer. */
-    char owned;
-} of_wire_object_t;
-
 #define WBUF_BUF(wbuf) (wbuf)->buf
 #define WBUF_ALLOC_BYTES(wbuf) (wbuf)->alloc_bytes
 #define WBUF_CURRENT_BYTES(wbuf) (wbuf)->current_bytes
@@ -104,15 +89,6 @@
  */
 #define OF_WIRE_BUFFER_INDEX(wbuf, offset) (&((WBUF_BUF(wbuf))[offset]))
 
-/**
- * Return a pointer to a particular offset in the underlying buffer
- * associated with a wire object
- * @param wobj Pointer to an of_wire_object_t structure
- * @param offset The location to reference relative to the start of the object
- */
-#define OF_WIRE_OBJECT_INDEX(wobj, offset) \
-    OF_WIRE_BUFFER_INDEX((wobj)->wbuf, (offset) + (wobj)->obj_offset)
-
 /****************************************************************
  * Object specific macros; of_object_t includes a wire_object
  ****************************************************************/
@@ -124,7 +100,7 @@
  * @param offset The location to reference relative to the start of the object
  */
 #define OF_OBJECT_BUFFER_INDEX(obj, offset) \
-    OF_WIRE_OBJECT_INDEX(&((obj)->wire_object), offset)
+    OF_WIRE_BUFFER_INDEX((obj)->wbuf, (obj)->obj_offset + offset)
 
 /**
  * Return the absolute offset as an integer from a object-relative offset
@@ -132,7 +108,7 @@
  * @param offset The location to reference relative to the start of the object
  */
 #define OF_OBJECT_ABSOLUTE_OFFSET(obj, offset) \
-    ((obj)->wire_object.obj_offset + offset)
+    ((obj)->obj_offset + offset)
 
 
 /**
@@ -140,7 +116,7 @@
  *
  * Treat as private
  */
-#define OF_OBJECT_TO_WBUF(obj) ((obj)->wire_object.wbuf)
+#define OF_OBJECT_TO_WBUF(obj) ((obj)->wbuf)
 
 
 
