o = s.query(SomeClass).select(SomeClass.c.id==7817)[0] o.attributes # Expunges fine without loading it. Breaks after loading or while eager-loading. s.expunge(o) Traceback (most recent call last): File "example.py", line 330, in ? s.expunge(o) File "/home/alex/pydev/Sqlalchemy/trunk/sqlalchemy/orm/session.py", line 385, in expunge self.uow._remove_deleted(c) File "/home/alex/pydev/Sqlalchemy/trunk/sqlalchemy/orm/unitofwork.py", line 112, in _remove_deleted del self.identity_map[obj._instance_key] KeyError: (, (48931L, 1L), None)