diff --git a/utils/ccc-analyzer b/utils/ccc-analyzer
index c46b6e9..323d529 100755
--- a/utils/ccc-analyzer
+++ b/utils/ccc-analyzer
@@ -32,7 +32,7 @@
 }
 
 sub ProcessClangFailure {
-  my ($Lang, $file, $Args, $HtmlDir, $ErrorType) = @_;
+  my ($Lang, $file, $Args, $HtmlDir, $ErrorType, $ofile) = @_;
   my $Dir = "$HtmlDir/crashes";
   mkpath $Dir;
   my ($PPH, $PPFile) = tempfile("clang_crash_XXXXXX",
@@ -46,6 +46,7 @@
   print OUT "$ErrorType\n";
   print OUT "@$Args\n";
   close OUT;
+  system 'mv',$ofile,"$PPFile.output";
 }
 
 ##----------------------------------------------------------------------------##
@@ -109,18 +110,33 @@
   if (defined $ENV{'CCC_UBI'}) {   
     push @CmdArgs,"--analyzer-viz-egraph-ubigraph";
   }
-  
-  my $Result = system $Cmd,@CmdArgs;
 
-   # Did the command die because of a signal?
-   if ($Result & 127 and $Cmd eq $Clang and defined $HtmlDir) {
-     ProcessClangFailure($Lang, $file, \@CmdArgsSansAnalyses, $HtmlDir,
-                          "Crash");
-   }
-   elsif ($Result) {
-     ProcessClangFailure($Lang, $file, \@CmdArgsSansAnalyses, $HtmlDir,
-                          "Parser Rejects");
-   }
+  # Capture the STDERR of clang and send it to a temporary file.
+  # Capture the STDOUT of clang and reroute it to ccc-analyzer's STDERR.
+  # We save the output file in the 'crashes' directory if clang encounters
+  # any problems with the file.  
+  my ($ofh, $ofile) = tempfile("clang_output_XXXXXX", DIR => $HtmlDir);
+  my $pid = fork();
+  if ($pid == 0) {
+    open(STDOUT,">&", \*STDERR);
+    open(STDERR,">&", $ofh);
+    exec $Cmd, @CmdArgs;
+  }
+  close ($ofh);
+  wait;
+  my $Result = $?;
+
+  # Did the command die because of a signal?
+  if ($Result & 127 and $Cmd eq $Clang and defined $HtmlDir) {
+    ProcessClangFailure($Lang, $file, \@CmdArgsSansAnalyses, $HtmlDir,
+                        "Crash", $ofile);
+  }
+  elsif ($Result) {
+    ProcessClangFailure($Lang, $file, \@CmdArgsSansAnalyses, $HtmlDir,
+                        "Parser Rejects", $ofile);
+  }
+  
+  `rm -f $ofile`;
 }
 
 ##----------------------------------------------------------------------------##
