Fix promises

@nandy-andy @rogatty this is a backport from release-15 branch with promise chain brought back to life with one exception.