diff --git a/package/wprobe/Makefile b/package/wprobe/Makefile
index cea23d2a3b7d56cbea02cbcab35c6a0e612553f9..7b49b6598fceed10c6cd8da17c0d43ba04157dd0 100644
--- a/package/wprobe/Makefile
+++ b/package/wprobe/Makefile
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/kernel.mk
 PKG_NAME:=wprobe
 PKG_VERSION:=1
 
-PKG_BUILD_DEPENDS:=libnl PACKAGE_wprobe-export:libipfix
+PKG_BUILD_DEPENDS:=PACKAGE_wprobe-export:libipfix
 
 PKG_CONFIG_DEPENDS = \
 	CONFIG_PACKAGE_kmod-wprobe \
@@ -33,7 +33,7 @@ endef
 define Package/wprobe-info
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=+kmod-wprobe
+  DEPENDS:=+kmod-wprobe +libnl-tiny
   TITLE:=Wireless measurement utility
 endef
 
@@ -45,7 +45,7 @@ endef
 define Package/wprobe-export
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=+kmod-wprobe
+  DEPENDS:=+kmod-wprobe +libnl-tiny
   TITLE:=Wireless measurement data exporter
 endef
 
@@ -59,7 +59,9 @@ define Build/Prepare
 	$(CP) src/* $(PKG_BUILD_DIR)/
 endef
 
-TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include
+TARGET_CFLAGS += \
+	-I$(STAGING_DIR)/usr/include/libnl-tiny \
+	-I$(STAGING_DIR)/usr/include
 
 ifdef CONFIG_PACKAGE_kmod-wprobe
   define Build/Compile/kmod
@@ -80,7 +82,7 @@ define Build/Compile/lib
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CPPFLAGS="$(TARGET_CPPFLAGS) -I$(PKG_BUILD_DIR)/kernel" \
 		LDFLAGS="$(TARGET_LDFLAGS)" \
-		LIBNL="$(STAGING_DIR)/usr/lib/libnl.a"
+		LIBNL="-lnl-tiny"
 endef
 
 ifdef CONFIG_PACKAGE_wprobe-export
@@ -90,7 +92,7 @@ ifdef CONFIG_PACKAGE_wprobe-export
 		CFLAGS="$(TARGET_CFLAGS)" \
 		CPPFLAGS="$(TARGET_CPPFLAGS) -I$(PKG_BUILD_DIR)/kernel -I$(PKG_BUILD_DIR)/user" \
 		LDFLAGS="$(TARGET_LDFLAGS)" \
-		LIBS="$(PKG_BUILD_DIR)/user/libwprobe.a $(STAGING_DIR)/usr/lib/libipfix.a $(STAGING_DIR)/usr/lib/libmisc.a $(STAGING_DIR)/usr/lib/libnl.a -lm"
+		LIBS="$(PKG_BUILD_DIR)/user/libwprobe.a $(STAGING_DIR)/usr/lib/libipfix.a $(STAGING_DIR)/usr/lib/libmisc.a -lnl-tiny -lm"
   endef
 endif
 
diff --git a/package/wprobe/src/user/wprobe.c b/package/wprobe/src/user/wprobe.c
index d591207daf16d6a3c6fabc7a933f8c41f927478a..1f8df6c7e99e4503eefd6648d58cbf2f930d5926 100644
--- a/package/wprobe/src/user/wprobe.c
+++ b/package/wprobe/src/user/wprobe.c
@@ -35,7 +35,7 @@
 #define DPRINTF(fmt, ...) do {} while (0)
 #endif
 
-static struct nl_handle *handle = NULL;
+static struct nl_sock *handle = NULL;
 static struct nl_cache *cache = NULL;
 static struct genl_family *family = NULL;
 static struct nlattr *tb[WPROBE_ATTR_LAST+1];
@@ -89,7 +89,7 @@ wprobe_free(void)
 	if (cache)
 		nl_cache_free(cache);
 	if (handle)
-		nl_handle_destroy(handle);
+		nl_socket_free(handle);
 	handle = NULL;
 	cache = NULL;
 }
@@ -97,7 +97,9 @@ wprobe_free(void)
 int
 wprobe_init(void)
 {
-	handle = nl_handle_alloc();
+	int ret;
+
+	handle = nl_socket_alloc();
 	if (!handle) {
 		DPRINTF("Failed to create handle\n");
 		goto err;
@@ -108,8 +110,8 @@ wprobe_init(void)
 		goto err;
 	}
 
-	cache = genl_ctrl_alloc_cache(handle);
-	if (!cache) {
+	ret = genl_ctrl_alloc_cache(handle, &cache);
+	if (ret < 0) {
 		DPRINTF("Failed to allocate netlink cache\n");
 		goto err;
 	}