Back out post-2.0 code changes from trunk: r4643, r4642 r4640, r4637.