diff --git a/Makefile b/Makefile
index 1f8720ebba12871ad35f4f1b4fc51ba0a0387ceb..8c4748e5604ecad6c4b82abce19bba43d480db12 100644
--- a/Makefile
+++ b/Makefile
@@ -82,12 +82,12 @@ PKGFILES = $(shell find pkg -type f -name '*.go')
 lib/%.a: $(PKGFILES)
 	@./gui/build.sh --just-golib
 
-golib: lib/libgoshim.a
+build_golib: lib/libgoshim.a
 
 build_gui:
 	@XBUILD=no TARGET=${TARGET} VENDOR_PATH=${VENDOR_PATH}/${PROVIDER} gui/build.sh --skip-golib
 
-build: golib build_helper build_openvpn build_gui
+build: build_golib build_helper build_openvpn build_gui
 
 build_helper:
 	@echo "PLATFORM: ${PLATFORM}"
diff --git a/branding/templates/snap/snapcraft-template.yaml b/branding/templates/snap/snapcraft-template.yaml
index c4f3afefa5a4b381d8f0f64096dd7ad81a711a2e..4a6bd89f8252184046f6a65607427ecc70b2bafa 100644
--- a/branding/templates/snap/snapcraft-template.yaml
+++ b/branding/templates/snap/snapcraft-template.yaml
@@ -35,12 +35,17 @@ parts:
     stage:
         - bin/${binaryName}
     override-build: |
+        # TODO - this still has some round corners for vendoring.
+        # Maybe we just need to put the providers.json in the VENDOR_PATH
+        # and pass it to gui/providers from some path that snap can access.
+        # Same for the vendor.qrc
         mkdir -p $SNAPCRAFT_PART_INSTALL/snap/
         mkdir -p $SNAPCRAFT_PRIME/snap/
         echo ${version} > $SNAPCRAFT_PRIME/snap/version.txt
-        QT_SELECT=5 XBUILD=no TARGET=${binaryName} make build
+        make build_golib
+        QT_SELECT=5 XBUILD=no TARGET=${binaryName} make build_gui
         mkdir -p $SNAPCRAFT_PART_INSTALL/bin
-        mv qtbuild/release/${binaryName} $SNAPCRAFT_PART_INSTALL/bin/
+        mv build/qt/release/${binaryName} $SNAPCRAFT_PART_INSTALL/bin/
     override-prime: |
       rm -rf $SNAPCRAFT_PROJECT_DIR/snap/hooks/.mypy_cache
       snapcraftctl prime