diff --git a/components/rgbd-sources/src/calibrate.cpp b/components/rgbd-sources/src/calibrate.cpp
index fb2735d30ba206f7a6982f5c2fc5f820b054e478..e901aaaf2750d7297956b2c09695080ae59cfa1c 100644
--- a/components/rgbd-sources/src/calibrate.cpp
+++ b/components/rgbd-sources/src/calibrate.cpp
@@ -89,6 +89,8 @@ bool Calibrate::_loadCalibration(cv::Size img_size, std::pair<Mat, Mat> &map1, s
 		D[1].copyTo(D2_);
 	}
 
+	fs.release();
+
 	CHECK(M1_.size() == Size(3, 3));
 	CHECK(M2_.size() == Size(3, 3));
 	CHECK(D1_.size() == Size(5, 1));
@@ -116,12 +118,15 @@ bool Calibrate::_loadCalibration(cv::Size img_size, std::pair<Mat, Mat> &map1, s
 	fs["P1"] >> P1_;
 	fs["P2"] >> P2_;
 	fs["Q"] >> Q_;
+
+	fs.release();
+
 	img_size_ = img_size;
 
 	// TODO: normalize calibration
 	double scale_x = ((double) img_size.width) / 1280.0;
 	double scale_y = ((double) img_size.height) / 720.0;
-
+	
 	Mat scale(cv::Size(3, 3), CV_64F, 0.0);
 	scale.at<double>(0, 0) = (double) scale_x;
 	scale.at<double>(1, 1) = (double) scale_y;