break;
        case NFS4_OPEN_DELEGATE_READ:
                RESERVE_SPACE(20 + sizeof(stateid_t));
-               WRITEMEM(&open->op_delegate_stateid, sizeof(stateid_t));
+               WRITE32(open->op_delegate_stateid.si_generation);
+               WRITEMEM(&open->op_delegate_stateid.si_opaque,
+                        sizeof(stateid_opaque_t));
                WRITE32(open->op_recall);
 
                /*
                break;
        case NFS4_OPEN_DELEGATE_WRITE:
                RESERVE_SPACE(32 + sizeof(stateid_t));
-               WRITEMEM(&open->op_delegate_stateid, sizeof(stateid_t));
+               WRITE32(open->op_delegate_stateid.si_generation);
+               WRITEMEM(&open->op_delegate_stateid.si_opaque,
+                        sizeof(stateid_opaque_t));
                WRITE32(0);
 
                /*