diff --git a/lib/bb/fetch/git.py b/lib/bb/fetch/git.py
index 0c708e3..3aedba3 100644
--- a/lib/bb/fetch/git.py
+++ b/lib/bb/fetch/git.py
@@ -84,11 +84,13 @@ class Git(Fetch):
         coname = '%s' % (ud.tag)
         codir = os.path.join(repodir, coname)
 
+		mirror_dl_success = False
         if not os.path.exists(repodir):
             if Fetch.try_mirror(d, repofilename):    
                 bb.mkdirhier(repodir)
                 os.chdir(repodir)
                 runfetchcmd("tar -xzf %s" % (repofile), d)
+				mirror_dl_success = True
             else:
                 runfetchcmd("git clone -n %s://%s%s %s" % (ud.proto, ud.host, ud.path, repodir), d)
 
@@ -111,7 +113,8 @@ class Git(Fetch):
 
         bb.mkdirhier(codir)
         os.chdir(repodir)
-        runfetchcmd("git read-tree %s" % (ud.tag), d)
+		if mirror_dl_success:
+			runfetchcmd("git read-tree %s" % (ud.tag), d)
         runfetchcmd("git checkout-index -q -f --prefix=%s -a" % (os.path.join(codir, "git", "")), d)
 
         os.chdir(codir)
