Rebase from upstream commit : 3bb9dcf44627ffdd313fe92c563ae454b6ff8aa6