partially synced with the change of 2014-09-15 of the original development branch

partially synced with the change of September 15,
2014(daab676162470c8175cda976a0701887c8d9f6cb) of the original
development branch