diff --git a/coverage_posix.py b/coverage_posix.py
index 420b0a7..c96f391 100755
--- a/coverage_posix.py
+++ b/coverage_posix.py
@@ -762,6 +762,12 @@
                        '--directory', self.directory_parent,
                        '--zerocounters'])
       shutil.rmtree(os.path.join(self.directory, 'coverage'))
+      if self.options.all_unittests:
+        if os.path.exists(os.path.join(self.directory, 'unittests_coverage')):
+          shutil.rmtree(os.path.join(self.directory, 'unittests_coverage'))
+      else:
+        if os.path.exists(os.path.join(self.directory, 'total_coverage')):
+          shutil.rmtree(os.path.join(self.directory, 'total_coverage'))
 
   def BeforeRunOneTest(self, testname):
     """Do things before running each test."""
@@ -948,6 +954,12 @@
       del os.environ['DISPLAY']
       self.xvfb_pid = 0
 
+  def CopyCoverageFileToDestination(self, coverage_folder):
+    coverage_dir = os.path.join(self.directory, coverage_folder)
+    if not os.path.exists(coverage_dir):
+      os.makedirs(coverage_dir)
+    shutil.copyfile(self.coverage_info_file, os.path.join(coverage_dir,
+                                                          'coverage.info'))
 
   def GenerateLcovPosix(self):
     """Convert profile data to lcov on Mac or Linux."""
@@ -991,6 +1003,14 @@
         sys.exit(retcode)
     if self.IsLinux():
       os.chdir(start_dir)
+
+    # Copy the unittests coverage information to a different folder.
+    if self.options.all_unittests:
+      self.CopyCoverageFileToDestination('unittests_coverage')
+    else:
+      # Save the overall coverage information.
+      self.CopyCoverageFileToDestination('total_coverage')
+
     if not os.path.exists(self.coverage_info_file):
       logging.fatal('%s was not created.  Coverage run failed.' %
                     self.coverage_info_file)
