diff --git a/progress.py b/progress.py
index d948654..b08f52e 100644
--- a/progress.py
+++ b/progress.py
@@ -21,7 +21,7 @@
 _NOT_TTY = not os.isatty(2)
 
 class Progress(object):
-  def __init__(self, title, total=0, units=''):
+  def __init__(self, title, total=0, units='', print_newline=False):
     self._title = title
     self._total = total
     self._done = 0
@@ -29,6 +29,7 @@
     self._start = time()
     self._show = False
     self._units = units
+    self._print_newline = print_newline
 
   def update(self, inc=1):
     self._done += inc
@@ -52,11 +53,12 @@
 
       if self._lastp != p:
         self._lastp = p
-        sys.stderr.write('\r%s: %3d%% (%d%s/%d%s)  ' % (
+        sys.stderr.write('\r%s: %3d%% (%d%s/%d%s)%s' % (
           self._title,
           p,
           self._done, self._units,
-          self._total, self._units))
+          self._total, self._units,
+          "\n" if self._print_newline else ""))
         sys.stderr.flush()
 
   def end(self):
diff --git a/subcmds/sync.py b/subcmds/sync.py
index 2d00eb7..d4432ce 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -356,7 +356,8 @@
   def _Fetch(self, projects, opt):
     fetched = set()
     lock = _threading.Lock()
-    pm = Progress('Fetching projects', len(projects))
+    pm = Progress('Fetching projects', len(projects),
+                  print_newline=not(opt.quiet))
 
     objdir_project_map = dict()
     for project in projects:
