diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1ce2460b698213903ab730fda7ce20d478dede17..31c3947427a277fcb563790d474c61696bb3a26f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,17 +38,17 @@ list (APPEND dhtnet_SOURCES
 )
 
 list (APPEND dhtnet_HEADERS
-    connectionmanager.h
-    multiplexed_socket.h
-    tls_session.h
-    certstore.h
-    ice_options.h
-    fileutils.h
-    string_utils.h
-    ip_utils.h
-    upnp/mapping.h
-    upnp/upnp_context.h
-    upnp/upnp_control.h
+    include/connectionmanager.h
+    include/multiplexed_socket.h
+    include/tls_session.h
+    include/certstore.h
+    include/ice_options.h
+    include/fileutils.h
+    include/string_utils.h
+    include/ip_utils.h
+    include/upnp/mapping.h
+    include/upnp/upnp_context.h
+    include/upnp/upnp_control.h
 )
 
 add_library(dhtnet ${dhtnet_SOURCES})
@@ -63,7 +63,7 @@ set_target_properties(dhtnet PROPERTIES PUBLIC_HEADER "${CMAKE_CURRENT_SOURCE_DI
 configure_file(dhtnet.pc.in dhtnet.pc @ONLY)
 
 # Install targets
-install(TARGETS dhtnet PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dhtnet)
+install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dhtnet)
 install (FILES ${CMAKE_CURRENT_BINARY_DIR}/dhtnet.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
 
 if (BUILD_TESTING AND NOT MSVC)