diff --git a/src/descriptors/sift/descriptor_sift.h b/src/descriptors/sift/descriptor_sift.h
index 609da42a7f284f5a1fc64e0c7d7b09da59fdb3b6..ea69e58fad574d7acb4224f40d5ef375aa8c5fe3 100644
--- a/src/descriptors/sift/descriptor_sift.h
+++ b/src/descriptors/sift/descriptor_sift.h
@@ -48,7 +48,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 c54b872b6bca4c430e3a57ec6f3c00c164eca16b..fefc59a42022200baa948fecf8415e8103e5300b 100644
--- a/src/detectors/sift/detector_sift.h
+++ b/src/detectors/sift/detector_sift.h
@@ -53,7 +53,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,