#define o_log_prefix o_hdr->oh_log_prefix
 
-#ifdef LDAP_SLAPI
-#define o_pb o_hdr->oh_pb
-#define o_extensions o_hdr->oh_extensions
-#endif
-
        ber_tag_t       o_tag;          /* tag of the request */
        time_t          o_time;         /* time op was initiated */
        int                     o_tincr;        /* counter for multiple ops with same o_time */
 
 
 #define SLAPI_OVERLAY_NAME                     "slapi"
 
-#define SLAPI_OPERATION_PBLOCK(_op)            ((op)->o_pb)
-#define SLAPI_CONNECTION_PBLOCK(_conn)         ((conn)->c_pb);
-#define SLAPI_BACKEND_PBLOCK(_be)              ((be)->be_pb)
+#define SLAPI_OPERATION_PBLOCK(_op)            ((_op)->o_hdr->oh_pb)
+#define SLAPI_CONNECTION_PBLOCK(_conn)         ((_conn)->c_pb);
+#define SLAPI_BACKEND_PBLOCK(_be)              ((_be)->be_pb)
+
+#define SLAPI_OPERATION_EXTENSIONS(_op)                ((_op)->o_hdr->oh_extensions)
+#define SLAPI_CONNECTION_EXTENSIONS(_conn)     ((_conn)->c_extensions)
 
 #define SLAPI_CONTROL_MANAGEDSAIT_OID          LDAP_CONTROL_MANAGEDSAIT
 #define SLAPI_CONTROL_SORTEDSEARCH_OID         LDAP_CONTROL_SORTREQUEST
 
                *parent = NULL;
                break;  
        case SLAPI_X_EXT_OPERATION:
-               *eblock = ((Operation *)object)->o_extensions;
+               *eblock = ((Operation *)object)->o_hdr->oh_extensions;
                *parent = ((Operation *)object)->o_conn;
                break;  
        default:
                parent = NULL;
                break;  
        case SLAPI_X_EXT_OPERATION:
-               peblock = &(((Operation *)object)->o_extensions);
+               peblock = &(((Operation *)object)->o_hdr->oh_extensions);
                parent = ((Operation *)object)->o_conn;
                break;
        default:
                parent = NULL;
                break;  
        case SLAPI_X_EXT_OPERATION:
-               peblock = &(((Operation *)object)->o_extensions);
+               peblock = &(((Operation *)object)->o_hdr->oh_extensions);
                parent = ((Operation *)object)->o_conn;
                break;  
        default:
 
 
        op = (Operation *) slapi_ch_calloc( 1, OPERATION_BUFFER_SIZE );
        op->o_hdr = (Opheader *)(op + 1);
+       op->o_hdr->oh_pb = pb;
+       op->o_hdr->oh_extensions = NULL;
+
        op->o_controls = (void **)(op->o_hdr + 1);
-       op->o_pb = pb;
-       op->o_extensions = NULL;
 
        conn->c_pending_ops.stqh_first = op;
 
 
         * We check for op->o_extensions to verify that we are not
         * processing a SLAPI internal operation. XXX
         */
-       if ( pb == NULL || op->o_extensions == NULL ) {
+       if ( pb == NULL || op->o_hdr->oh_extensions == NULL ) {
                return SLAP_CB_CONTINUE;
        }