diff --git a/Modules/Applications/AppClassification/app/CMakeLists.txt b/Modules/Applications/AppClassification/app/CMakeLists.txt
index d72dd40b28904567e09309d1e5022c56ea479f74..3e1dbd85f5cd2ca409ddb9ef51389edf5e544976 100644
--- a/Modules/Applications/AppClassification/app/CMakeLists.txt
+++ b/Modules/Applications/AppClassification/app/CMakeLists.txt
@@ -53,10 +53,12 @@ otb_create_application(
   SOURCES        otbComputePolylineFeatureFromImage.cxx
   LINK_LIBRARIES ${${otb-module}_LIBRARIES})
 
-otb_create_application(
-  NAME           KMeansClassification
-  SOURCES        otbKMeansClassification.cxx
-  LINK_LIBRARIES ${${otb-module}_LIBRARIES})
+if(OTB_USE_SHARK)
+  otb_create_application(
+    NAME           KMeansClassification
+    SOURCES        otbKMeansClassification.cxx
+    LINK_LIBRARIES ${${otb-module}_LIBRARIES})
+endif()
 
 otb_create_application(
   NAME           TrainImagesClassifier
diff --git a/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx b/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
index d8e234214bff46edfd1d5604390788f735a248b2..a5067bf9cdb782b5dd2d70e25a43c23f7d41baa8 100644
--- a/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
+++ b/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
@@ -405,6 +405,8 @@ private:
       "KMeansClassification is a composite application, "
       "using an existing training and classification application."
       "The SharkKMeans model is used.\n"
+      "KMeansClassification application is only available if OTB is compiled with Shark support"
+      "(CMake option OTB_USE_SHARK=ON)\n"
       "The steps of this composite application :\n"
         "1) ImageEnveloppe : create a shapefile (1 polygon),\n"
         "2) PolygonClassStatistics : compute the statistics,\n"