diff --git a/ameasure2/src/provisioner/MeasurementProvisioner.cpp b/ameasure2/src/provisioner/MeasurementProvisioner.cpp
index a9ac9b619fc052194e00fd7d9613088b70811d46..5edeb6957ab9c5c63938da5969fd2a072a0d551a 100644
--- a/ameasure2/src/provisioner/MeasurementProvisioner.cpp
+++ b/ameasure2/src/provisioner/MeasurementProvisioner.cpp
@@ -191,6 +191,10 @@ MPRPipelineResults MeasurementProvisioner::runPipeline ( const MPPipeline & pipe
 	dup ( curStdoutFd );
 	dup ( curStderrFd );
 
+	close ( curStdinFd );
+	close ( curStdoutFd );
+	close ( curStderrFd );
+
 	return pipelineResults;
 }
 
diff --git a/ameasure2/src/provisioner/MeasurementProvisionerUtils.cpp b/ameasure2/src/provisioner/MeasurementProvisionerUtils.cpp
index c222cf8614bb7f0ecdf43ab23a04545a3dd85b3c..f05c2afc2ff6ea913338072dbf294266eb1bc037 100644
--- a/ameasure2/src/provisioner/MeasurementProvisionerUtils.cpp
+++ b/ameasure2/src/provisioner/MeasurementProvisionerUtils.cpp
@@ -43,6 +43,7 @@ std::string MPUtils::generateTmpfileFromCommand ( const std::string & command )
 	close ( 1 );
 	close ( tempfd );
 	dup ( stdoutfd );
+	close ( stdoutfd );
 
 	if ( WEXITSTATUS ( status ) != 0 ) {
 		unlink ( temppath );