I think there is no problem and you do not need to load the $model again. Sequence is following: _beforeSave() save() //model in not saved!!! _afterSAve() //model is still not saved!!! on afterSave dispatching some events such as Mage::dispatchEvent('model_save_after', array('object'=>$this)); Mage::dispatchEvent($this->_eventPrefix.'_save_after', $this->_getEventData()); commit() And only now magento save changes in method So you evend don't need to use method _afterSave() you can use one of events with following check: if ($observer->getObject instanceof My_Module_Model_Price) {