diff --git a/core/doc.txt b/core/doc.txt
index eba36071d8adff3d770335d685e467a84f5b40a0..dea2353eeb63a05c20d83072a3a7b6a609088c35 100644
--- a/core/doc.txt
+++ b/core/doc.txt
@@ -15,7 +15,7 @@
  */
 
 /**
- * @defgroup    core_util Kernel utilities
+ * @defgroup    core_util Kernel Utilities
  * @ingroup     core
  * @brief       Utilities and data structures used by the kernel
  */
@@ -25,3 +25,9 @@
  * @ingroup     core
  * @brief       Configuration data and startup code for the kernel
  */
+
+ /**
+  * @defgroup    core_sync Thread Synchronization
+  * @ingroup     core
+  * @brief       Thread synchronization mechanisms of the kernel
+  */
diff --git a/core/include/assert.h b/core/include/assert.h
index 20675d5edf8960d95dc72fda972e4f5dad722ae3..21ed84ab146a11b102967d3d5598e3b7f0ff1f53 100644
--- a/core/include/assert.h
+++ b/core/include/assert.h
@@ -8,7 +8,7 @@
  */
 
 /**
- * @addtogroup  core_util
+ * @ingroup     core_util
  *
  * @{
  * @file
diff --git a/core/include/bitarithm.h b/core/include/bitarithm.h
index 1adc55a583074d15112de7aa8e57db6c7e5caf10..c51fd1da96cfc66739a9361326812129a95ad626 100644
--- a/core/include/bitarithm.h
+++ b/core/include/bitarithm.h
@@ -8,7 +8,7 @@
  */
 
 /**
- * @addtogroup  core_util
+ * @ingroup     core_util
  * @{
  *
  * @file
diff --git a/core/include/byteorder.h b/core/include/byteorder.h
index a666bd2a808c63f2311211c7f817f8b39fe1b926..4052a56c24d217b3120231c3404b493e495b48d6 100644
--- a/core/include/byteorder.h
+++ b/core/include/byteorder.h
@@ -7,13 +7,13 @@
  */
 
 /**
- * @addtogroup     core_util
+ * @ingroup     core_util
  * @{
  *
  * @file
- * @brief          Functions to work with different byte orders.
+ * @brief       Functions to work with different byte orders.
  *
- * @author         René Kijewski <rene.kijewski@fu-berlin.de>
+ * @author      René Kijewski <rene.kijewski@fu-berlin.de>
  */
 
 #ifndef BYTEORDER_H
diff --git a/core/include/cib.h b/core/include/cib.h
index e6d7c95ed74bde0344153e71e0550c008b63fa16..5f85c8e530d499ec65037aa421fe6c87a1002258 100644
--- a/core/include/cib.h
+++ b/core/include/cib.h
@@ -8,7 +8,7 @@
  */
 
  /**
- * @addtogroup  core_util
+ * @ingroup     core_util
  * @{
  *
  * @file
diff --git a/core/include/clist.h b/core/include/clist.h
index 229540e24adb8b57d80d7f12428a914c14d5412b..3b2d54e4c73ab3a5fdcf22de5187e2973b8aecf6 100644
--- a/core/include/clist.h
+++ b/core/include/clist.h
@@ -8,7 +8,7 @@
  */
 
 /**
- * @addtogroup  core_util
+ * @ingroup     core_util
  * @{
  *
  * @file
diff --git a/core/include/cond.h b/core/include/cond.h
index 38c14677a255aacf9797411def2c9470c45ccdd5..67520c7418c5d1a0daa7131c5854a6d954d30c45 100644
--- a/core/include/cond.h
+++ b/core/include/cond.h
@@ -5,12 +5,9 @@
  */
 
 /**
+ * @defgroup    core_sync_cond Condition Variable
+ * @ingroup     core_sync
  * @brief       Condition variable for thread synchronization
- * @ingroup     core, core_sync
- * @{
- *
- * @file
- * @brief       RIOT synchronization API
  *
  * This file contains a condition variable with Mesa-style semantics.
  *
@@ -129,6 +126,11 @@
  * Note that this could actually be written with a single condition variable.
  * However, the example includes two for didactic reasons.
  *
+ * @{
+ *
+ * @file
+ * @brief       Condition variable for thread synchronization
+ *
  * @author      Sam Kumar <samkumar@berkeley.edu>
  */
 
diff --git a/core/include/debug.h b/core/include/debug.h
index 618f2582ed27a21d34640bc959e19efa963ab097..7d7d062470d28f6424e9b3fe893685022a53aec2 100644
--- a/core/include/debug.h
+++ b/core/include/debug.h
@@ -7,7 +7,7 @@
  */
 
 /**
- * @addtogroup  core_util
+ * @ingroup     core_util
  * @{
  *
  * @file
diff --git a/core/include/kernel_defines.h b/core/include/kernel_defines.h
index d3fc3e86763d3c0ab69916620ea34db6936173f1..79c71973a567cd9ea42ae31a4a0a47cf0a8bd5ef 100644
--- a/core/include/kernel_defines.h
+++ b/core/include/kernel_defines.h
@@ -8,7 +8,7 @@
  */
 
 /**
- * @addtogroup  core_internal
+ * @ingroup     core_internal
  * @{
  *
  * @file
diff --git a/core/include/kernel_init.h b/core/include/kernel_init.h
index b055919ee49a0aa2e3d4077cfbad1d22124da212..3ea9b70b35ced52fb9d84e24473469d3beeaf619 100644
--- a/core/include/kernel_init.h
+++ b/core/include/kernel_init.h
@@ -8,7 +8,7 @@
  */
 
 /**
- * @addtogroup  core_internal
+ * @ingroup     core_internal
  * @{
  *
  * @file
diff --git a/core/include/kernel_types.h b/core/include/kernel_types.h
index 52315d467da1a338b6553ab918635bbe3d5ae324..673018069b7dff65bf328f0d76c95f9ddb33dd18 100644
--- a/core/include/kernel_types.h
+++ b/core/include/kernel_types.h
@@ -7,7 +7,7 @@
  */
 
 /**
- * @addtogroup  core_util
+ * @ingroup     core_util
  * @{
  *
  * @file
diff --git a/core/include/lifo.h b/core/include/lifo.h
index 39e93f158d36bee387141bf7ddf0ecbdc3bd579d..e4f330ae8531c4afe267c10e9c97e383ebde53a1 100644
--- a/core/include/lifo.h
+++ b/core/include/lifo.h
@@ -7,7 +7,7 @@
  */
 
 /**
- * @addtogroup  core_util
+ * @ingroup     core_util
  * @{
  *
  * @file
diff --git a/core/include/list.h b/core/include/list.h
index 56c27cd3d7e1d1caf580de9428f1ef1cd3f6b1a7..1eb477118b78b2207d699f9084b3f23bf6d963bd 100644
--- a/core/include/list.h
+++ b/core/include/list.h
@@ -8,7 +8,7 @@
  */
 
 /**
- * @addtogroup  core_util
+ * @ingroup     core_util
  * @{
  *
  * @file
diff --git a/core/include/log.h b/core/include/log.h
index b18a169a3725bac71aa5be3290744e588238f10b..81a585bffe165da913cf75d039168d73b45f8c2b 100644
--- a/core/include/log.h
+++ b/core/include/log.h
@@ -7,7 +7,7 @@
  */
 
 /**
- * @addtogroup  core_util
+ * @ingroup     core_util
  * @{
  *
  * @file
diff --git a/core/include/mutex.h b/core/include/mutex.h
index 9a29eb5f7e0ffdb0e817af44454a00302474e063..f41a5ae9bc65a5df9c13ebc0a588b2bfb984aff3 100644
--- a/core/include/mutex.h
+++ b/core/include/mutex.h
@@ -8,13 +8,13 @@
  */
 
 /**
- * @defgroup    core_sync Synchronization
+ * @defgroup    core_sync_mutex Mutex
+ * @ingroup     core_sync
  * @brief       Mutex for thread synchronization
- * @ingroup     core
  * @{
  *
  * @file
- * @brief       RIOT synchronization API
+ * @brief       Mutex for thread synchronization
  *
  * @author      Kaspar Schleiser <kaspar@schleiser.de>
  */
diff --git a/core/include/panic.h b/core/include/panic.h
index 79ea9071173c6fbb776236493d7ef28a3e7ec912..60e22ea7e02c41f3808af702ef91f5e6427be020 100644
--- a/core/include/panic.h
+++ b/core/include/panic.h
@@ -7,7 +7,7 @@
  */
 
 /**
- * @addtogroup  core_util
+ * @ingroup     core_util
  * @{
  *
  * @file
diff --git a/core/include/priority_queue.h b/core/include/priority_queue.h
index bceae1bb6c2fa7bb0893fe178080806916b236f4..b4977d7a132de7a7aeaf753bacb0f005291fb254 100644
--- a/core/include/priority_queue.h
+++ b/core/include/priority_queue.h
@@ -7,7 +7,7 @@
  */
 
 /**
- * @addtogroup  core_util
+ * @ingroup     core_util
  * @{
  *
  * @file
diff --git a/core/include/ringbuffer.h b/core/include/ringbuffer.h
index 3bdd5bab7c946c6205214105eb7388183b5df26a..ff08a791645def04947cad5720b3efbe1c43e0a8 100644
--- a/core/include/ringbuffer.h
+++ b/core/include/ringbuffer.h
@@ -8,7 +8,7 @@
  */
 
 /**
- * @ingroup  core_util
+ * @ingroup     core_util
  * @{
  * @file
  * @author Kaspar Schleiser <kaspar@schleiser.de>
diff --git a/core/include/rmutex.h b/core/include/rmutex.h
index ef8c0692c624931fe2643f60fc794be38e87e944..77553fb4059198c164112ed75e6e941a07cbf7b9 100644
--- a/core/include/rmutex.h
+++ b/core/include/rmutex.h
@@ -7,12 +7,14 @@
  */
 
 /**
+ * @defgroup    core_sync_rmutex Recursive Mutex
  * @ingroup     core_sync
  * @brief       Recursive Mutex for thread synchronization
+ *
  * @{
  *
  * @file
- * @brief       RIOT synchronization API
+ * @brief       Recursive Mutex for thread synchronization
  *
  * @author      Martin Elshuber <martin.elshuber@theobroma-systems.com>
  *