diff --git a/CMakeLists.txt b/CMakeLists.txt
index 204fe41897029aba3ad8ac60ad782c4b8062042f..0a33cde159c6bcbf07b2a9e32b6f225b0f822430 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -70,7 +70,7 @@ option ( WALBERLA_BUILD_TUTORIALS           "Build Tutorials"
 
 option ( WALBERLA_BUILD_WITH_MPI            "Build with MPI"                                  ON )
 option ( WALBERLA_BUILD_WITH_METIS          "Build with metis graph partitioner"             OFF )
-option ( WALBERLA_BUILD_WITH_PARMETIS       "Build with ParMetis graph partitioner"          OFF )                                            
+option ( WALBERLA_BUILD_WITH_PARMETIS       "Build with ParMetis graph partitioner"          OFF )
 
 option ( WALBERLA_BUILD_WITH_GPROF          "Enables gprof"                                      )
 option ( WALBERLA_BUILD_WITH_GCOV           "Enables gcov"                                       )
@@ -867,14 +867,14 @@ if ( WALBERLA_BUILD_WITH_PARMETIS )
       ${PARMETIS_ROOT}/include
       $ENV{PARMETIS_ROOT}/include
    )
-  
+
   find_library(PARMETIS_LIBRARY parmetis
     /usr/local/lib
     /usr/lib
     ${PARMETIS_ROOT}/lib
     $ENV{PARMETIS_ROOT}/lib
   )
-  
+
   if( PARMETIS_INCLUDE_DIR AND PARMETIS_LIBRARY AND METIS_LIBRARY )
     include_directories( ${PARMETIS_INCLUDE_DIR} )
     list ( APPEND SERVICE_LIBS ${PARMETIS_LIBRARY} ${METIS_LIBRARY} )
@@ -1046,7 +1046,7 @@ if ( WALBERLA_BUILD_WITH_CUDA )
 
     #   set ( BUILD_SHARED_LIBS                      ON )
     set ( CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE ON )
-   
+
     if( NOT WALBERLA_CXX_COMPILER_IS_MSVC )
         set ( CUDA_PROPAGATE_HOST_FLAGS OFF CACHE BOOL "" )
     endif()
@@ -1131,12 +1131,14 @@ endif()
 
 
 if ( WALBERLA_BUILD_WITH_LIKWID_MARKERS )
-    find_library( LIKWID_LIB likwid  HINTS $ENV{LIKWID_ROOT} )
+    find_library( LIKWID_LIB likwid HINTS $ENV{LIKWID_LIBDIR} $ENV{LIKWID_ROOT}/lib )
+    find_path( LIKWID_INCLUDE_DIR likwid.h HINTS $ENV{LIKWID_INCDIR} $ENV{LIKWID_ROOT}/include )
 
-    if ( LIKWID_LIB )
+    if ( LIKWID_LIB AND LIKWID_INCLUDE_DIR)
         set( LIKWID_FOUND 1)
-        list ( APPEND SERVICE_LIBS ${LIKWID_LIB} )
+        include_directories( ${LIKWID_INCLUDE_DIR})
         add_definitions ( "-DLIKWID_PERFMON" )
+        list ( APPEND SERVICE_LIBS ${LIKWID_LIB} )
     else()
         message(WARNING "likwid marker library not found. Set environment variable LIKWID_ROOT")
         set ( WALBERLA_BUILD_WITH_LIKWID_MARKERS OFF CACHE BOOL "Compile in markers for likwid-perfctr" FORCE )
diff --git a/src/core/perf_analysis/extern/likwid.h b/src/core/perf_analysis/extern/likwid.h
index 75c5ad7047175f47213c5e52e536144ffda4b8c4..5db0fae8870edad498e942649e9edd3aefaf9bee 100644
--- a/src/core/perf_analysis/extern/likwid.h
+++ b/src/core/perf_analysis/extern/likwid.h
@@ -1,68 +1,37 @@
-/*
- * =======================================================================================
- *
- *      Filename:  likwid.h
- *
- *      Description:  Header File of likwid marker API
- *
- *      Version:   3.0
- *      Released:  29.11.2012
- *
- *      Author:  Jan Treibig (jt), jan.treibig@gmail.com
- *      Project:  likwid
- *
- *      Copyright (C) 2012 Jan Treibig 
- *
- *      This program is free software: you can redistribute it and/or modify it under
- *      the terms of the GNU General Public License as published by the Free Software
- *      Foundation, either version 3 of the License, or (at your option) any later
- *      version.
- *
- *      This program is distributed in the hope that it will be useful, but WITHOUT ANY
- *      WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- *      PARTICULAR PURPOSE.  See the GNU General Public License for more details.
- *
- *      You should have received a copy of the GNU General Public License along with
- *      this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- * =======================================================================================
- */
+//======================================================================================================================
+//
+//  This file is part of waLBerla. waLBerla is free software: you can
+//  redistribute it and/or modify it under the terms of the GNU General Public
+//  License as published by the Free Software Foundation, either version 3 of
+//  the License, or (at your option) any later version.
+//
+//  waLBerla is distributed in the hope that it will be useful, but WITHOUT
+//  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+//  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+//  for more details.
+//
+//  You should have received a copy of the GNU General Public License along
+//  with waLBerla (see COPYING.txt). If not, see <http://www.gnu.org/licenses/>.
+//
+//! \file likwid.h
+//! \ingroup core
+//! \author Dominik Thoennes <dominik.thoennes@fau.de>
+//! \brief Wrapper for the Likwid tools
+//
+//======================================================================================================================
 
-#ifndef LIKWID_H
-#define LIKWID_H
+
+#pragma once
 
 #ifdef LIKWID_PERFMON
-#define LIKWID_MARKER_INIT likwid_markerInit();
-#define LIKWID_MARKER_THREADINIT likwid_markerThreadInit();
-#define LIKWID_MARKER_START(reg) likwid_markerStartRegion(reg);
-#define LIKWID_MARKER_STOP(reg) likwid_markerStopRegion(reg);
-#define LIKWID_MARKER_CLOSE likwid_markerClose();
+#include <likwid.h>
 #else
 #define LIKWID_MARKER_INIT
 #define LIKWID_MARKER_THREADINIT
-#define LIKWID_MARKER_START(reg)
-#define LIKWID_MARKER_STOP(reg)
+#define LIKWID_MARKER_SWITCH
+#define LIKWID_MARKER_REGISTER(regionTag)
+#define LIKWID_MARKER_START(regionTag)
+#define LIKWID_MARKER_STOP(regionTag)
 #define LIKWID_MARKER_CLOSE
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* marker API routines */
-extern void likwid_markerInit(void);
-extern void likwid_markerThreadInit(void);
-extern void likwid_markerClose(void);
-extern void likwid_markerStartRegion(const char* regionTag);
-extern void likwid_markerStopRegion(const char* regionTag);
-
-/* utility routines */
-extern int  likwid_getProcessorId();
-extern int  likwid_pinProcess(int processorId);
-extern int  likwid_pinThread(int processorId);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /*LIKWID_H*/
+#define LIKWID_MARKER_GET(regionTag, nevents, events, time, count)
+#endif // LIKWID_PERFMON
\ No newline at end of file