diff --git a/configure.ac b/configure.ac
index b49d127..6b87389 100644
--- a/configure.ac
+++ b/configure.ac
@@ -411,6 +411,8 @@ fi
 AM_CONDITIONAL(HAVE_LIBCPUFREQ, test x$have_libcpufreq = xyes)
 AC_SUBST(LIBCPUFREQ_LIBS)
 
+AC_CHECK_HEADERS([cpupower.h])
+
 build_cpufreq_applet=no
 
 if test x$disable_cpufreq = xno; then
diff --git a/cpufreq/src/cpufreq-monitor-libcpufreq.c b/cpufreq/src/cpufreq-monitor-libcpufreq.c
index 4fa9d4c..ba52fde 100644
--- a/cpufreq/src/cpufreq-monitor-libcpufreq.c
+++ b/cpufreq/src/cpufreq-monitor-libcpufreq.c
@@ -19,12 +19,16 @@
  * Authors : Carlos García Campos <carlosgc@gnome.org>
  */
 
+#include <config.h>
+
 #include <glib.h>
 #include <glib/gi18n.h>
 
 #include <stdlib.h>
-#include <linux/version.h>
 #include <cpufreq.h>
+#ifdef HAVE_CPUPOWER_H
+#include <cpupower.h>
+#endif
 #include "cpufreq-monitor-libcpufreq.h"
 #include "cpufreq-utils.h"
 
@@ -111,7 +115,7 @@
 		/* Check whether it failed because
 		 * cpu is not online.
 		 */
-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0)
+#ifndef HAVE_CPUPOWER_H
 		if (!cpufreq_cpu_exists (cpu)) {
 #else
 		if (cpupower_is_cpu_online (cpu)) {
