didn't look really deep but saw this in save() $this->_beforeSave(); if ($this->_dataSaveAllowed) { $this->_getResource()->save($this); $this->_afterSave(); } but there's no setter for $_dataSaveAllowed maybe extend shipment model to add a setter for this attribute and set it to false in your observer?