diff --git a/fusionbox/fabric_helpers.py b/fusionbox/fabric_helpers.py
index <HASH>..<HASH> 100644
--- a/fusionbox/fabric_helpers.py
+++ b/fusionbox/fabric_helpers.py
@@ -39,7 +39,7 @@ def update_git(branch):
     try:
         loc = tempfile.mkdtemp()
         put(StringIO(local('git rev-parse %s' % branch, capture=True) + "\n"), 'static/.git_version.txt', mode=0775)
-        local("git archive %s | tar xf - -C %s" % (branch, loc))
+        local("cd `git rev-parse --show-toplevel` && git archive %s | tar xf - -C %s" % (branch, loc))
         local("chmod -R g+rwX %s" % (loc)) # force group permissions
         # env.cwd is documented as private, but I'm not sure how else to do this
         with settings(warn_only=True):
cd to git root before archiving, the whole project always needs to be updated