I think I''ve tracked down why rspec dislikes test-unit gems > 1.3.5 this code: gem ''rails'', ''= 2.3.5'' puts $LOAD_PATH.find{|l| l.instance_variables.include? (:@gem_prelude_index)} puts $LOAD_PATH.uniq.find{|l| l.instance_variables.include? (:@gem_prelude_index)} [if you take off the ''= 2.3.5'' it gives different results] Anyway rails itself ends up doing a $LOAD_PATH.uniq! which clears the gem_prelude_index, causing test-unit ''= 1.3.5'' to be added at the end of $LOAD_PATH, which means that its brother , v 2.0.6, precedes it, and gets loaded. so the question is...whose fault is this? gems? rails? -r