diff --git a/src/org/zeroxlab/benchmark/NativeTester.java b/src/org/zeroxlab/benchmark/NativeTester.java
index 15d0e07..d1470e7 100644
--- a/src/org/zeroxlab/benchmark/NativeTester.java
+++ b/src/org/zeroxlab/benchmark/NativeTester.java
@@ -1,4 +1,5 @@
 /*
+ * Copyright 2011 Linaro Limited
  * Copyright (C) 2010 0xlab - http://0xlab.org/
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -231,12 +232,12 @@
                     continue;
                 }
                 reportOutputs();
-                if (!mStdOuts.containsKey(command)) {
+                if (mStdOuts.containsKey(command)) {
                     mStdOuts.put(command, mStdOuts.get(command) + stdOut.toString());
                 } else {
                     mStdOuts.put(command, stdOut.toString());
                 }
-                if (!mStdErrs.containsKey(command)) {
+                if (mStdErrs.containsKey(command)) {
                     mStdErrs.put(command, mStdErrs.get(command) + stdErr.toString());
                 } else {
                     mStdErrs.put(command, stdErr.toString());
