I do have a workaround for this issue - it's not the prettiest solution in the world, but it does work, at least for me. The basic principle is to use Ext.data.Model#join to fool the record into thinking that your listener class is one of the parent stores for the model record, which will then be notified when that particular record is edited. Although the documentation says that Ext.data.Model.join() expects the parameter to be a Store, you don't actually have to extend the Ext.data.Store class. Instead, you just need to be sure to implement "afterEdit", "afterReject", and "afterCommit" methods on your listener class, and they will be called appropriately by the record. Just be sure to unjoin() when you're done with the listener!