Backport #14975 to 2014.7

@jhenry82 You should look over this, make sure it all looks correct.  There were some merge conflicts I resolved.

Backport #14975 to 2014.7