diff --git a/include/villas/hook_list.h b/include/villas/hook_list.hpp
similarity index 96%
rename from include/villas/hook_list.h
rename to include/villas/hook_list.hpp
index 7a706ed38..522bc2dc8 100644
--- a/include/villas/hook_list.h
+++ b/include/villas/hook_list.hpp
@@ -31,10 +31,6 @@
 
 #pragma once
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 #include <jansson.h>
 
 /* Forward declarations */
@@ -78,7 +74,3 @@ int hook_list_start(struct vlist *hs);
 int hook_list_stop(struct vlist *hs);
 
 struct vlist * hook_list_get_signals(struct vlist *hs);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/lib/hook_list.cpp b/lib/hook_list.cpp
index 638670ba8..1124997d7 100644
--- a/lib/hook_list.cpp
+++ b/lib/hook_list.cpp
@@ -22,15 +22,13 @@
 
 #include <villas/plugin.hpp>
 #include <villas/hook.hpp>
-#include <villas/hook_list.h>
+#include <villas/hook_list.hpp>
 #include <villas/list.h>
 #include <villas/log.h>
 
 using namespace villas;
 using namespace villas::node;
 
-extern "C" {
-
 int hook_list_init(vlist *hs)
 {
 	int ret;
@@ -235,5 +233,3 @@ vlist * hook_list_get_signals(vlist *hs)
 
 	return h->getSignals();
 }
-
-}
diff --git a/lib/node.cpp b/lib/node.cpp
index deb2dedc0..950d4a30c 100644
--- a/lib/node.cpp
+++ b/lib/node.cpp
@@ -25,7 +25,7 @@
 
 #include <villas/node/config.h>
 #include <villas/hook.h>
-#include <villas/hook_list.h>
+#include <villas/hook_list.hpp>
 #include <villas/sample.h>
 #include <villas/node.h>
 #include <villas/utils.hpp>
diff --git a/lib/node_direction.cpp b/lib/node_direction.cpp
index 971f7153d..eef6dbcb6 100644
--- a/lib/node_direction.cpp
+++ b/lib/node_direction.cpp
@@ -24,7 +24,7 @@
 #include <villas/config.h>
 #include <villas/utils.hpp>
 #include <villas/hook.h>
-#include <villas/hook_list.h>
+#include <villas/hook_list.hpp>
 #include <villas/node.h>
 #include <villas/node_direction.h>
 
diff --git a/lib/path.cpp b/lib/path.cpp
index 1e9bc3d39..41b28f220 100644
--- a/lib/path.cpp
+++ b/lib/path.cpp
@@ -35,7 +35,7 @@
 #include <villas/pool.h>
 #include <villas/queue.h>
 #include <villas/hook.h>
-#include <villas/hook_list.h>
+#include <villas/hook_list.hpp>
 #include <villas/plugin.h>
 #include <villas/memory.h>
 #include <villas/node.h>
diff --git a/lib/path_source.cpp b/lib/path_source.cpp
index 26a35303e..b82378840 100644
--- a/lib/path_source.cpp
+++ b/lib/path_source.cpp
@@ -24,7 +24,7 @@
 #include <villas/sample.h>
 #include <villas/node.h>
 #include <villas/path.h>
-#include <villas/hook_list.h>
+#include <villas/hook_list.hpp>
 
 #include <villas/path_destination.h>
 #include <villas/path_source.h>
diff --git a/lib/super_node.cpp b/lib/super_node.cpp
index a6a3361a6..fe620bf09 100644
--- a/lib/super_node.cpp
+++ b/lib/super_node.cpp
@@ -28,7 +28,7 @@
 #include <villas/path.h>
 #include <villas/utils.hpp>
 #include <villas/list.h>
-#include <villas/hook_list.h>
+#include <villas/hook_list.hpp>
 #include <villas/advio.h>
 #include <villas/plugin.h>
 #include <villas/memory.h>