upstream commit 4