diff --git a/modules/stitching/include/opencv2/stitching/detail/util.hpp b/modules/stitching/include/opencv2/stitching/detail/util.hpp
index bce390b1a..15cecc749 100644
--- a/modules/stitching/include/opencv2/stitching/detail/util.hpp
+++ b/modules/stitching/include/opencv2/stitching/detail/util.hpp
@@ -46,7 +46,7 @@
 #include <list>
 #include "opencv2/core/core.hpp"
 
-#define ENABLE_LOG 1
+#define ENABLE_LOG 0
 
 // TODO remove LOG macros, add logging class
 #if ENABLE_LOG
diff --git a/modules/stitching/src/exposure_compensate.cpp b/modules/stitching/src/exposure_compensate.cpp
index 23bc16140..39aa316e0 100644
--- a/modules/stitching/src/exposure_compensate.cpp
+++ b/modules/stitching/src/exposure_compensate.cpp
@@ -74,7 +74,9 @@ void GainCompensator::feed(const vector<Point> &corners, const vector<Mat> &imag
                            const vector<pair<Mat,uchar> > &masks)
 {
     LOGLN("Exposure compensation...");
+#if ENABLE_LOG
     int64 t = getTickCount();
+#endif
 
     CV_Assert(corners.size() == images.size() && images.size() == masks.size());
 
diff --git a/modules/stitching/src/motion_estimators.cpp b/modules/stitching/src/motion_estimators.cpp
index bbbc9698c..9fb33b98d 100644
--- a/modules/stitching/src/motion_estimators.cpp
+++ b/modules/stitching/src/motion_estimators.cpp
@@ -105,7 +105,9 @@ void HomographyBasedEstimator::estimate(const vector<ImageFeatures> &features, c
                                         vector<CameraParams> &cameras)
 {
     LOGLN("Estimating rotations...");
+#if ENABLE_LOG
     int64 t = getTickCount();
+#endif
 
     const int num_images = static_cast<int>(features.size());
 
@@ -172,7 +174,9 @@ void BundleAdjusterBase::estimate(const vector<ImageFeatures> &features,
                                   vector<CameraParams> &cameras)
 {
     LOG_CHAT("Bundle adjustment");
+#if ENABLE_LOG
     int64 t = getTickCount();
+#endif
 
     num_images_ = static_cast<int>(features.size());
     features_ = &features[0];
@@ -582,7 +586,9 @@ void BundleAdjusterRay::calcJacobian(Mat &jac)
 void waveCorrect(vector<Mat> &rmats, WaveCorrectKind kind)
 {
     LOGLN("Wave correcting...");
+#if ENABLE_LOG
     int64 t = getTickCount();
+#endif
 
     Mat moment = Mat::zeros(3, 3, CV_32F);
     for (size_t i = 0; i < rmats.size(); ++i)
diff --git a/modules/stitching/src/seam_finders.cpp b/modules/stitching/src/seam_finders.cpp
index 83f053c3b..44e3a916c 100644
--- a/modules/stitching/src/seam_finders.cpp
+++ b/modules/stitching/src/seam_finders.cpp
@@ -52,10 +52,12 @@ void PairwiseSeamFinder::find(const vector<Mat> &src, const vector<Point> &corne
                               vector<Mat> &masks)
 {
     LOGLN("Finding seams...");
-    if (src.size() == 0) 
+    if (src.size() == 0)
         return;
 
+#if ENABLE_LOG
     int64 t = getTickCount();
+#endif
 
     images_ = src;
     sizes_.resize(src.size());
@@ -87,10 +89,12 @@ void VoronoiSeamFinder::find(const vector<Size> &sizes, const vector<Point> &cor
                              vector<Mat> &masks)
 {
     LOGLN("Finding seams...");
-    if (sizes.size() == 0) 
+    if (sizes.size() == 0)
         return;
 
+#if ENABLE_LOG
     int64 t = getTickCount();
+#endif
 
     sizes_ = sizes;
     corners_ = corners;
@@ -161,7 +165,9 @@ DpSeamFinder::DpSeamFinder(CostFunction costFunc) : costFunc_(costFunc) {}
 void DpSeamFinder::find(const vector<Mat> &src, const vector<Point> &corners, vector<Mat> &masks)
 {
     LOGLN("Finding seams...");
+#if ENABLE_LOG
     int64 t = getTickCount();
+#endif
 
     if (src.size() == 0)
         return;
@@ -700,7 +706,7 @@ void DpSeamFinder::computeCosts(
 {
     CV_Assert(states_[comp] & INTERS);
 
-    // compute costs    
+    // compute costs
 
     float (*diff)(const Mat&, int, int, const Mat&, int, int) = 0;
     if (image1.type() == CV_32FC3 && image2.type() == CV_32FC3)
@@ -1055,10 +1061,10 @@ public:
     void findInPair(size_t first, size_t second, Rect roi);
 
 private:
-    void setGraphWeightsColor(const Mat &img1, const Mat &img2, 
+    void setGraphWeightsColor(const Mat &img1, const Mat &img2,
                               const Mat &mask1, const Mat &mask2, GCGraph<float> &graph);
-    void setGraphWeightsColorGrad(const Mat &img1, const Mat &img2, const Mat &dx1, const Mat &dx2, 
-                                  const Mat &dy1, const Mat &dy2, const Mat &mask1, const Mat &mask2, 
+    void setGraphWeightsColorGrad(const Mat &img1, const Mat &img2, const Mat &dx1, const Mat &dx2,
+                                  const Mat &dy1, const Mat &dy2, const Mat &mask1, const Mat &mask2,
                                   GCGraph<float> &graph);
 
     vector<Mat> dx_, dy_;
@@ -1148,8 +1154,8 @@ void GraphCutSeamFinder::Impl::setGraphWeightsColor(const Mat &img1, const Mat &
 
 
 void GraphCutSeamFinder::Impl::setGraphWeightsColorGrad(
-        const Mat &img1, const Mat &img2, const Mat &dx1, const Mat &dx2, 
-        const Mat &dy1, const Mat &dy2, const Mat &mask1, const Mat &mask2, 
+        const Mat &img1, const Mat &img2, const Mat &dx1, const Mat &dx2,
+        const Mat &dy1, const Mat &dy2, const Mat &mask1, const Mat &mask2,
         GCGraph<float> &graph)
 {
     const Size img_size = img1.size();
@@ -1177,7 +1183,7 @@ void GraphCutSeamFinder::Impl::setGraphWeightsColorGrad(
                 float grad = dx1.at<float>(y, x) + dx1.at<float>(y, x + 1) +
                              dx2.at<float>(y, x) + dx2.at<float>(y, x + 1) + weight_eps;
                 float weight = (normL2(img1.at<Point3f>(y, x), img2.at<Point3f>(y, x)) +
-                                normL2(img1.at<Point3f>(y, x + 1), img2.at<Point3f>(y, x + 1))) / grad + 
+                                normL2(img1.at<Point3f>(y, x + 1), img2.at<Point3f>(y, x + 1))) / grad +
                                weight_eps;
                 if (!mask1.at<uchar>(y, x) || !mask1.at<uchar>(y, x + 1) ||
                     !mask2.at<uchar>(y, x) || !mask2.at<uchar>(y, x + 1))
@@ -1186,10 +1192,10 @@ void GraphCutSeamFinder::Impl::setGraphWeightsColorGrad(
             }
             if (y < img_size.height - 1)
             {
-                float grad = dy1.at<float>(y, x) + dy1.at<float>(y + 1, x) + 
+                float grad = dy1.at<float>(y, x) + dy1.at<float>(y + 1, x) +
                              dy2.at<float>(y, x) + dy2.at<float>(y + 1, x) + weight_eps;
-                float weight = (normL2(img1.at<Point3f>(y, x), img2.at<Point3f>(y, x)) + 
-                                normL2(img1.at<Point3f>(y + 1, x), img2.at<Point3f>(y + 1, x))) / grad + 
+                float weight = (normL2(img1.at<Point3f>(y, x), img2.at<Point3f>(y, x)) +
+                                normL2(img1.at<Point3f>(y + 1, x), img2.at<Point3f>(y + 1, x))) / grad +
                                weight_eps;
                 if (!mask1.at<uchar>(y, x) || !mask1.at<uchar>(y + 1, x) ||
                     !mask2.at<uchar>(y, x) || !mask2.at<uchar>(y + 1, x))
@@ -1271,7 +1277,7 @@ void GraphCutSeamFinder::Impl::findInPair(size_t first, size_t second, Rect roi)
         setGraphWeightsColor(subimg1, subimg2, submask1, submask2, graph);
         break;
     case GraphCutSeamFinder::COST_COLOR_GRAD:
-        setGraphWeightsColorGrad(subimg1, subimg2, subdx1, subdx2, subdy1, subdy2, 
+        setGraphWeightsColorGrad(subimg1, subimg2, subdx1, subdx2, subdy1, subdy2,
                                  submask1, submask2, graph);
         break;
     default:
@@ -1402,17 +1408,17 @@ void GraphCutSeamFinderGpu::findInPair(size_t first, size_t second, Rect roi)
             }
         }
     }
-    
+
     Mat terminals, leftT, rightT, top, bottom;
 
     switch (cost_type_)
     {
     case GraphCutSeamFinder::COST_COLOR:
-        setGraphWeightsColor(subimg1, subimg2, submask1, submask2, 
+        setGraphWeightsColor(subimg1, subimg2, submask1, submask2,
                              terminals, leftT, rightT, top, bottom);
         break;
     case GraphCutSeamFinder::COST_COLOR_GRAD:
-        setGraphWeightsColorGrad(subimg1, subimg2, subdx1, subdx2, subdy1, subdy2, 
+        setGraphWeightsColorGrad(subimg1, subimg2, subdx1, subdx2, subdy1, subdy2,
                                  submask1, submask2, terminals, leftT, rightT, top, bottom);
         break;
     default:
@@ -1448,7 +1454,7 @@ void GraphCutSeamFinderGpu::findInPair(size_t first, size_t second, Rect roi)
 }
 
 
-void GraphCutSeamFinderGpu::setGraphWeightsColor(const Mat &img1, const Mat &img2, const Mat &mask1, const Mat &mask2, 
+void GraphCutSeamFinderGpu::setGraphWeightsColor(const Mat &img1, const Mat &img2, const Mat &mask1, const Mat &mask2,
                                                  Mat &terminals, Mat &leftT, Mat &rightT, Mat &top, Mat &bottom)
 {
     const Size img_size = img1.size();
@@ -1540,7 +1546,7 @@ void GraphCutSeamFinderGpu::setGraphWeightsColor(const Mat &img1, const Mat &img
 
 void GraphCutSeamFinderGpu::setGraphWeightsColorGrad(
         const Mat &img1, const Mat &img2, const Mat &dx1, const Mat &dx2,
-        const Mat &dy1, const Mat &dy2, const Mat &mask1, const Mat &mask2, 
+        const Mat &dy1, const Mat &dy2, const Mat &mask1, const Mat &mask2,
         Mat &terminals, Mat &leftT, Mat &rightT, Mat &top, Mat &bottom)
 {
     const Size img_size = img1.size();
diff --git a/modules/stitching/src/stitcher.cpp b/modules/stitching/src/stitcher.cpp
index f8b58d3e0..99bacf237 100644
--- a/modules/stitching/src/stitcher.cpp
+++ b/modules/stitching/src/stitcher.cpp
@@ -152,7 +152,9 @@ Stitcher::Status Stitcher::composePanorama(InputArray images, OutputArray pano)
 
     Mat &pano_ = pano.getMatRef();
 
+#if ENABLE_LOG
     int64 t = getTickCount();
+#endif
 
     vector<Point> corners(imgs_.size());
     vector<Mat> masks_warped(imgs_.size());
@@ -201,7 +203,9 @@ Stitcher::Status Stitcher::composePanorama(InputArray images, OutputArray pano)
     masks.clear();
 
     LOGLN("Compositing...");
+#if ENABLE_LOG
     t = getTickCount();
+#endif
 
     Mat img_warped, img_warped_s;
     Mat dilated_mask, seam_mask, mask, mask_warped;
@@ -349,7 +353,9 @@ Stitcher::Status Stitcher::matchImages()
     full_img_sizes_.resize(imgs_.size());
 
     LOGLN("Finding features...");
+#if ENABLE_LOG
     int64 t = getTickCount();
+#endif
 
     for (size_t i = 0; i < imgs_.size(); ++i)
     {
@@ -406,7 +412,9 @@ Stitcher::Status Stitcher::matchImages()
     LOGLN("Finding features, time: " << ((getTickCount() - t) / getTickFrequency()) << " sec");
 
     LOG("Pairwise matching");
+#if ENABLE_LOG
     t = getTickCount();
+#endif
     (*features_matcher_)(features_, pairwise_matches_, matching_mask_);
     features_matcher_->collectGarbage();
     LOGLN("Pairwise matching, time: " << ((getTickCount() - t) / getTickFrequency()) << " sec");