diff --git a/android/scripts/common.py b/android/scripts/common.py
index cc66dce..241cecf 100644
--- a/android/scripts/common.py
+++ b/android/scripts/common.py
@@ -110,10 +110,20 @@
 	if retcode != 0:
 		raise Exception("Failed to execute '%s', got %d" % (str(args), retcode))
 
-def execArgsInDirectory (args, cwd):
-	# Make sure previous stdout prints have been written out.
-	sys.stdout.flush()
-	process = subprocess.Popen(args, cwd=cwd)
+def execArgsInDirectory (args, cwd, linePrefix=""):
+
+	def readApplyPrefixAndPrint (source, prefix, sink):
+		while True:
+			line = source.readline()
+			if len(line) == 0: # EOF
+				break;
+			sink.write(prefix + line)
+
+	process = subprocess.Popen(args, cwd=cwd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+	stdoutJob = threading.Thread(target=readApplyPrefixAndPrint, args=(process.stdout, linePrefix, sys.stdout))
+	stderrJob = threading.Thread(target=readApplyPrefixAndPrint, args=(process.stdout, linePrefix, sys.stderr))
+	stdoutJob.start()
+	stderrJob.start()
 	retcode = process.wait()
 	if retcode != 0:
 		raise Exception("Failed to execute '%s', got %d" % (str(args), retcode))
diff --git a/android/scripts/install.py b/android/scripts/install.py
index 89e60f5..1bf63fd 100644
--- a/android/scripts/install.py
+++ b/android/scripts/install.py
@@ -32,7 +32,7 @@
 	common.execArgsInDirectory([common.ADB_BIN] + extraArgs + [
 			'uninstall',
 			'com.drawelements.deqp'
-		], common.ANDROID_DIR)
+		], common.ANDROID_DIR, printPrefix)
 	print printPrefix + "Remove complete\n",
 
 	print printPrefix + "Installing dEQP Package...\n",
@@ -40,11 +40,15 @@
 			'install',
 			'-r',
 			'package/bin/dEQP-debug.apk'
-		], common.ANDROID_DIR)
+		], common.ANDROID_DIR, printPrefix)
 	print printPrefix + "Install complete\n",
 
 def installToDevice (device, printPrefix=""):
-	print printPrefix + "Installing to %s (%s)...\n" % (device.serial, device.model),
+	if len(printPrefix) == 0:
+		print "Installing to %s (%s)...\n" % (device.serial, device.model),
+	else:
+		print printPrefix + "Installing to %s\n" % device.serial,
+
 	install(['-s', device.serial], printPrefix)
 
 def installToAllDevices (doParallel):
