diff --git a/gclient.py b/gclient.py
index 8dcb93b..7a13a5d 100755
--- a/gclient.py
+++ b/gclient.py
@@ -1052,7 +1052,7 @@
         scm = gclient_scm.CreateSCM(dep.url, self.root_dir, dep.name)
         actual_url = scm.GetActualRemoteURL()
         if actual_url and not scm.DoesRemoteURLMatch():
-          print >> sys.stderr, ('''
+          gclient_utils.AddWarning('''
 ################################################################################
 ################################### WARNING! ###################################
 ################################################################################
@@ -1957,6 +1957,8 @@
   except (gclient_utils.Error, subprocess2.CalledProcessError), e:
     print >> sys.stderr, 'Error: %s' % str(e)
     return 1
+  finally:
+    gclient_utils.PrintWarnings()
 
 
 if '__main__' == __name__:
diff --git a/gclient_utils.py b/gclient_utils.py
index 7003fc8..44dba57 100644
--- a/gclient_utils.py
+++ b/gclient_utils.py
@@ -27,6 +27,9 @@
 RETRY_INITIAL_SLEEP = 0.5
 
 
+_WARNINGS = []
+
+
 class Error(Exception):
   """gclient exception class."""
   def __init__(self, msg, *args, **kwargs):
@@ -36,6 +39,19 @@
     super(Error, self).__init__(msg, *args, **kwargs)
 
 
+def PrintWarnings():
+  """Prints any accumulated warnings."""
+  if _WARNINGS:
+    print >> sys.stderr, '\n\nWarnings:'
+    for warning in _WARNINGS:
+      print >> sys.stderr, warning
+
+
+def AddWarning(msg):
+  """Adds the given warning message to the list of accumulated warnings."""
+  _WARNINGS.append(msg)
+
+
 def SplitUrlRevision(url):
   """Splits url and returns a two-tuple: url, rev"""
   if url.startswith('ssh:'):
