diff --git a/src/descriptors/sift/descriptor_sift.h b/src/descriptors/sift/descriptor_sift.h
index b40a327428963cdf7fbcf8bac90fe7ca6570d3f7..0be20f14c8b05b83db22e0cf0072bcc8c49a9cd9 100644
--- a/src/descriptors/sift/descriptor_sift.h
+++ b/src/descriptors/sift/descriptor_sift.h
@@ -69,7 +69,7 @@ inline void DescriptorSIFT::defineDescriptor(const ParamsBasePtr _params)
 {
     DescriptorParamsSIFTPtr params_ptr = std::static_pointer_cast<DescriptorParamsSIFT>(_params);
 
-    descriptor_ = cv::SIFT::create(params_ptr->nfeatures,
+    descriptor_ = cv::xfeatures2d::SIFT::create(params_ptr->nfeatures,
     		params_ptr->nOctaveLayers,
 			params_ptr->contrastThreshold,
 			params_ptr->edgeThreshold,
diff --git a/src/detectors/sift/detector_sift.h b/src/detectors/sift/detector_sift.h
index b9ea0187fb02863aee3b3f3584f81994bb778b7a..b6fb9684e55bfcccae9994693e02dbde913d4671 100644
--- a/src/detectors/sift/detector_sift.h
+++ b/src/detectors/sift/detector_sift.h
@@ -74,7 +74,7 @@ inline void DetectorSIFT::defineDetector(const ParamsBasePtr _params)
 {
     DetectorParamsSIFTPtr params_ptr = std::static_pointer_cast<DetectorParamsSIFT>(_params);
 
-    detector_ = cv::SIFT::create(params_ptr->nfeatures,
+    detector_ = cv::xfeatures2d::SIFT::create(params_ptr->nfeatures,
     		params_ptr->nOctaveLayers,
 			params_ptr->contrastThreshold,
 			params_ptr->edgeThreshold,