diff --git a/panel-plugin/net.c b/panel-plugin/net.c
index e49390d..2e835c8 100644
--- a/panel-plugin/net.c
+++ b/panel-plugin/net.c
@@ -46,7 +46,7 @@
#elif __APPLE__
# include "src/macos.h"
# include "src/macos.c"
-#elif __FreeBSD__
+#elif __FreeBSD__ || __FreeBSD_kernel__
# include "wormulon/freebsd.h"
# include "wormulon/freebsd.c"
#elif __linux__
diff --git a/panel-plugin/net.h b/panel-plugin/net.h
index ad0c262..4bd20cb 100644
--- a/panel-plugin/net.h
+++ b/panel-plugin/net.h
@@ -62,7 +62,7 @@ typedef struct
#ifdef __HPUX__
int wait_pcks_counter;
nmapi_logstat* if_ptr;
-#elif __FreeBSD__
+#elif __FreeBSD__ || __FreeBSD_kernel__
int watchif;
int dev_opened;
#elif __NetBSD__
diff --git a/panel-plugin/os.h b/panel-plugin/os.h
index 524fefb..e49a356 100644
--- a/panel-plugin/os.h
+++ b/panel-plugin/os.h
@@ -72,7 +72,7 @@
#include <net/if_media.h>
#include <net/if_mib.h>
#include <arpa/inet.h>
-#elif __FreeBSD__ /* F R E E B S D */
+#elif __FreeBSD__ || __FreeBSD_kernel__ /* F R E E B S D */
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
@@ -94,8 +94,10 @@
#include <net/if_media.h>
#include <net/if_mib.h>
#include <arpa/inet.h>
+#if (__FreeBSD_kernel__ < 8) && (__FreeBSD__ < 8)
#include <net/ppp_defs.h>
#include <net/if_ppp.h>
+#endif
#elif __NetBSD__ /* N E T B S D */
#include <stdio.h>
#include <sys/param.h>