merge from upstream fix