Hi Marcel, I have fixed the bug described in http://dev.rubyonrails.org/ticket/2444. The patch is attached to http://dev.rubyonrails.org/ticket/2454. Could you please check that into trunk before someone else tries to fix it too? Unless you have any reservations. I had actually discussed the issue of returning nil instead of throwing an exception with David a while ago and he was against my solution, for backwards compatibility. But now that we have evidence that my original suggestion would have avoided http://dev.rubyonrails.org/ticket/2444, and this is definitely a bug, I think we should use my proposed implementation. Is does have the beneficial side effect of improving performance by about 2-3%. perf data file 1: 10-13.all.trunk requests=1000, options=-lib=trunk -bm=all -mysql_session -fast_routes perf data file 2: 10-13.all.ptrunk requests=1000, options=-lib=trunk -bm=all -mysql_session -fast_routes page c1 real c2 real r/s r/s ms/r ms/r c1/c2 /empty/index 1.50017 1.48289 666.6 674.4 1.50 1.48 1.01 /welcome/index 1.65471 1.61557 604.3 619.0 1.65 1.62 1.02 /rezept/index 1.51928 1.48618 658.2 672.9 1.52 1.49 1.02 /rezept/myknzlpzl 1.51224 1.48281 661.3 674.4 1.51 1.48 1.02 /rezept/show/713 3.62279 3.55280 276.0 281.5 3.62 3.55 1.02 /rezept/cat/Hauptspeise 4.61875 4.49105 216.5 222.7 4.62 4.49 1.03 /rezept/cat/Hauptspeise?page=5 4.72116 4.60571 211.8 217.1 4.72 4.61 1.03 /rezept/letter/G 4.67663 4.55092 213.8 219.7 4.68 4.55 1.03 -- stefan