Below is the class which caused the initial problem (since fixed). I suppose we could use CELL[INTEGER] instead of INTEGER_REF. I'm not sure that this is extremely important. I merely brought it up because it seems like a wart on the language. Randy class ELOG_THREAD_SAFE_AUTO_INCREMENTER feature -- Basic operations next_integer: INTEGER --| do auto_incrementer_mutex.lock Result := next_int next_int.set_item (next_int.item + 1) -- next_int.set_item (next_int + 1) -- Old code. auto_incrementer_mutex.unlock end feature {NONE} -- Implementation auto_incrementer_mutex: ELOG_MUTEX -- Protects next_int indexing once_status: global once create Result.make end next_int: INTEGER_REF --| indexing once_status: global once create Result end end