Re-rolled patch #24, Attached interdiff for same. Please review.