diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 72f446e45d017f03ec7733d6e9079ac263b2b921..ee1cd2c06dbf0bffb79b8c541c5f4b5f0cd7e719 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -35,7 +35,9 @@ SET(sources
 	descriptors/sift/descriptor_sift.cpp
 	descriptors/sift/descriptor_sift_load_yaml.cpp	
 	descriptors/surf/descriptor_surf.cpp
-	descriptors/surf/descriptor_surf_load_yaml.cpp	
+	descriptors/surf/descriptor_surf_load_yaml.cpp
+	descriptors/brisk/descriptor_brisk.cpp
+	descriptors/brisk/descriptor_brisk_load_yaml.cpp	
 	matchers/matcher_base.cpp )
 
 # application header files
@@ -64,6 +66,7 @@ SET(headers
 	descriptors/orb/descriptor_orb.h
 	descriptors/sift/descriptor_sift.h
 	descriptors/surf/descriptor_surf.h
+	descriptors/brisk/descriptor_brisk.h
 	matchers/matcher_factory.h
 	matchers/matcher_base.h)
 
diff --git a/src/examples/test_descriptor.cpp b/src/examples/test_descriptor.cpp
index bf1b19e5454dfbe7377406bc7f6f49f430a3b285..f892fe741b0188c99ac65bd7ad0add8230210f21 100644
--- a/src/examples/test_descriptor.cpp
+++ b/src/examples/test_descriptor.cpp
@@ -25,9 +25,9 @@
 #include "../descriptors/orb/descriptor_orb.h"
 #include "../descriptors/sift/descriptor_sift.h"
 #include "../descriptors/surf/descriptor_surf.h"
+#include "../descriptors/brisk/descriptor_brisk.h"
 //#include "../descriptors/kaze/descriptor_kaze.h"
 //#include "../descriptors/akaze/descriptor_akaze.h"
-//#include "../descriptors/brisk/descriptor_brisk.h"
 //#include "../descriptors/latch/descriptor_latch.h"
 //#include "../descriptors/freak/descriptor_freak.h"
 //#include "../descriptors/brief/descriptor_brief.h"
@@ -97,12 +97,12 @@ int main(void)
     	des_ptr = std::static_pointer_cast<DescriptorSIFT>(des_ptr);
     else if (des_name.compare("SURF") == 0)
     	des_ptr = std::static_pointer_cast<DescriptorSURF>(des_ptr);
+    else if (des_name.compare("BRISK") == 0)
+      	des_ptr = std::static_pointer_cast<DescriptorBRISK>(des_ptr);
 //    else if (des_name.compare("KAZE") == 0)
 //    	des_ptr = std::static_pointer_cast<DescriptorKAZE>(des_ptr);
 //    else if (des_name.compare("AKAZE") == 0)
 //    	des_ptr = std::static_pointer_cast<DescriptorAKAZE>(des_ptr);
-//    else if (des_name.compare("BRISK") == 0)
-//    	des_ptr = std::static_pointer_cast<DescriptorBRISK>(des_ptr);
 //    else if (des_name.compare("LATCH") == 0)
 //    	des_ptr = std::static_pointer_cast<DescriptorLATCH>(des_ptr);
 //    else if (des_name.compare("FREAK") == 0)