diff --git a/build/ci.go b/build/ci.go
index 257c479e3..c96ab1f37 100644
--- a/build/ci.go
+++ b/build/ci.go
@@ -297,7 +297,7 @@ func goToolArch(arch string, cc string, subcmd string, args ...string) *exec.Cmd
 		cmd.Env = append(cmd.Env, "CC="+cc)
 	}
 	for _, e := range os.Environ() {
-		if strings.HasPrefix(e, "GOPATH=") || strings.HasPrefix(e, "GOBIN=") {
+		if strings.HasPrefix(e, "GOBIN=") {
 			continue
 		}
 		cmd.Env = append(cmd.Env, e)
diff --git a/build/deb/ethereum/deb.rules b/build/deb/ethereum/deb.rules
index e79138168..0677ef91e 100644
--- a/build/deb/ethereum/deb.rules
+++ b/build/deb/ethereum/deb.rules
@@ -6,6 +6,7 @@
 
 # Launchpad rejects Go's access to $HOME, use custom folders
 export GOCACHE=/tmp/go-build
+export GOPATH=/tmp/gopath
 export GOROOT_BOOTSTRAP={{.GoBootPath}}
 
 override_dh_auto_clean:
@@ -19,7 +20,8 @@ override_dh_auto_build:
 
 	# We can't download external go modules within Launchpad, so we're shipping the
 	# entire dependency source cache with go-ethereum.
-	(mkdir -p $(HOME)/go/pkg/mod && mv .mod/* $(HOME)/go/pkg/mod)
+	mkdir -p $(GOPATH)/pkg
+	mv .mod $(GOPATH)/pkg/mod
 
 	# A fresh Go was built, all dependency downloads faked, hope build works now
 	../.go/bin/go run build/ci.go install -git-commit={{.Env.Commit}} -git-branch={{.Env.Branch}} -git-tag={{.Env.Tag}} -buildnum={{.Env.Buildnum}} -pull-request={{.Env.IsPullRequest}}