diff --git a/CMakeLists.txt b/CMakeLists.txt
index ca71fff..f032206 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -139,6 +139,7 @@
 find_package(Libosmocore)
 find_package(Libosmocodec)
 find_package(Libosmocoding)
+find_package(Libosmogsm)
 
 if(NOT PKG_CONFIG_FOUND)
     message(FATAL_ERROR "pkg-config is required to compile gr-gsm")
diff --git a/cmake/Modules/FindLibosmocore.cmake b/cmake/Modules/FindLibosmocore.cmake
index 9e4f3c4..8157910 100644
--- a/cmake/Modules/FindLibosmocore.cmake
+++ b/cmake/Modules/FindLibosmocore.cmake
@@ -1,7 +1,6 @@
 #find_package(PkgConfig)
 INCLUDE(FindPkgConfig)
 pkg_check_modules(PC_libosmocore libosmocore)
-pkg_check_modules(PC_libosmogsm libosmogsm)
 set(LIBOSMOCORE_DEFINITIONS ${PC_LIBOSMOCORE_CFLAGS_OTHER})
 
 find_path(
@@ -25,18 +24,8 @@
                 /usr/lib
 )
 
-find_library(
-        LIBOSMOCORE_GSM_LIBRARY
-        NAMES   libosmogsm osmogsm
-        HINTS   ${PC_libosmocore_LIBDIR}
-                ${PC_libosmocore_LIBRARY_DIRS}
-                ${CMAKE_INSTALL_PREFIX}/lib/
-                ${CMAKE_INSTALL_PREFIX}/lib64/
-        PATHS   /usr/local/lib
-                /usr/lib
-)
 
-set(LIBOSMOCORE_LIBRARIES ${LIBOSMOCORE_LIBRARY} ${LIBOSMOCORE_GSM_LIBRARY})
+set(LIBOSMOCORE_LIBRARIES ${LIBOSMOCORE_LIBRARY})
 set(LIBOSMOCORE_INCLUDE_DIRS ${LIBOSMOCORE_INCLUDE_DIR})
 
 include(FindPackageHandleStandardArgs)
diff --git a/cmake/Modules/FindLibosmogsm.cmake b/cmake/Modules/FindLibosmogsm.cmake
new file mode 100644
index 0000000..01985f4
--- /dev/null
+++ b/cmake/Modules/FindLibosmogsm.cmake
@@ -0,0 +1,32 @@
+INCLUDE(FindPkgConfig)
+pkg_check_modules(PC_libosmogsm libosmogsm)
+set(LIBOSMOGSM_DEFINITIONS ${PC_LIBOSMOGSM_CFLAGS_OTHER})
+
+find_path(
+        LIBOSMOGSM_INCLUDE_DIR
+        NAMES   osmocom/gsm/gsm_utils.h
+        HINTS   ${PC_libosmogsm_INCLUDEDIR}
+                ${PC_libosmogsm_INCLUDE_DIRS}
+                ${CMAKE_INSTALL_PREFIX}/include
+        PATHS   /usr/local/include
+                /usr/include
+)
+
+find_library(
+        LIBOSMOGSM_LIBRARY
+        NAMES   libosmogsm osmogsm
+        HINTS   ${PC_libosmogsm_LIBDIR}
+                ${PC_libosmogsm_LIBRARY_DIRS}
+                ${CMAKE_INSTALL_PREFIX}/lib/
+                ${CMAKE_INSTALL_PREFIX}/lib64/
+        PATHS   /usr/local/lib
+                /usr/lib
+)
+
+
+set(LIBOSMOGSM_LIBRARIES ${LIBOSMOGSM_LIBRARY})
+set(LIBOSMOGSM_INCLUDE_DIRS ${LIBOSMOGSM_INCLUDE_DIR})
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(libosmogsm  DEFAULT_MSG LIBOSMOGSM_LIBRARY LIBOSMOGSM_INCLUDE_DIR)
+mark_as_advanced(LIBOSMOGSM_INCLUDE_DIR LIBOSMOGSM_LIBRARY )
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 518edc4..5fa9da4 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -88,15 +88,13 @@
     list (APPEND grgsm_link_libraries ws2_32)
 endif()
 
-if(LIBOSMOCORE_FOUND AND LIBOSMOCODEC_FOUND)
-    list (APPEND grgsm_link_libraries ${LIBOSMOCORE_LIBRARIES} ${LIBOSMOCODEC_LIBRARIES})
+if(LIBOSMOCORE_FOUND AND LIBOSMOCODEC_FOUND AND LIBOSMOGSM_FOUND)
+    list (APPEND grgsm_link_libraries ${LIBOSMOCORE_LIBRARIES} ${LIBOSMOCODEC_LIBRARIES} ${LIBOSMOGSM_LIBRARY})
     if(LIBOSMOCODING_FOUND)
         list (APPEND grgsm_link_libraries ${LIBOSMOCODING_LIBRARIES})
     endif()
 endif()
 
-
-
 add_library(grgsm SHARED ${grgsm_sources})
 target_link_libraries(grgsm ${grgsm_link_libraries}
 # libraries required by plotting.h - have troubles to be installed by pybombs
diff --git a/lib/decoding/CMakeLists.txt b/lib/decoding/CMakeLists.txt
index c9fc744..95071ab 100644
--- a/lib/decoding/CMakeLists.txt
+++ b/lib/decoding/CMakeLists.txt
@@ -17,7 +17,7 @@
 # the Free Software Foundation, Inc., 51 Franklin Street,
 # Boston, MA 02110-1301, USA.
 
-if(NOT LIBOSMOCORE_FOUND OR NOT LIBOSMOCODEC_FOUND)
+if(NOT LIBOSMOCORE_FOUND OR NOT LIBOSMOCODEC_FOUND OR NOT LIBOSMOGSM_FOUND)
     add_subdirectory(osmocom/core)
     add_subdirectory(osmocom/codec)
     add_subdirectory(osmocom/gsm)
