Reopen Bug #2106, undoing all changes until code review completed.