diff --git a/lib/Model/Table.php b/lib/Model/Table.php
index <HASH>..<HASH> 100644
--- a/lib/Model/Table.php
+++ b/lib/Model/Table.php
@@ -623,10 +623,11 @@ class Model_Table extends Model {
         $this->hook('afterModify');
 
         if($this->_save_as===false)return $this->unload();
+        $id=$this->id;
         if($this->_save_as)$this->unload();
         $o=$this->_save_as?:$this;
 
-        return $o->load($this->id);
+        return $o->load($id);
     }
     /** @obsolete. Use set() then save(). */
     function update($data=array()){ // obsolete
$model->saveAs() don't load record back

saveAs can't load data record at the end, because it's unloaded first and later we try to load it back, but $this->id is not defined anymore.