diff --git a/components/st3m/st3m_gfx.c b/components/st3m/st3m_gfx.c
index e78c8ffb68191cefa6ac8e02d9cfe61c21fe3385..fc4c6c4ba36626fe8977a93e8f50ce5c5592b531 100644
--- a/components/st3m/st3m_gfx.c
+++ b/components/st3m/st3m_gfx.c
@@ -9,8 +9,10 @@
 #include "freertos/FreeRTOS.h"
 #include "freertos/queue.h"
 
-#include "ctx.h"
+// clang-format off
 #include "ctx_config.h"
+#include "ctx.h"
+// clang-format on
 
 #include "flow3r_bsp.h"
 #include "st3m_counter.h"
diff --git a/components/st3m/st3m_gfx.h b/components/st3m/st3m_gfx.h
index bef77d80d54ac0a49362c5be5636cfcddfe42860..398d01f3f3ca96b32e5d0bb92b51b63fd84b8f95 100644
--- a/components/st3m/st3m_gfx.h
+++ b/components/st3m/st3m_gfx.h
@@ -2,8 +2,10 @@
 
 #include "freertos/FreeRTOS.h"
 
-#include "ctx.h"
+// clang-format off
 #include "ctx_config.h"
+#include "ctx.h"
+// clang-format on
 
 // Each buffer  takes ~116kB SPIRAM. While one framebuffer is being blitted, the
 // other one is being written to by the rasterizer.
@@ -68,4 +70,4 @@ void st3m_gfx_show_textview(st3m_gfx_textview_t *tv);
 // The splash screen is rendered the same way as if submitted by the normal
 // drawctx pipe, which means they will get overwritten the moment a proper
 // rendering loop starts.
-void st3m_gfx_splash(const char *text);
\ No newline at end of file
+void st3m_gfx_splash(const char *text);
diff --git a/components/st3m/st3m_scope.c b/components/st3m/st3m_scope.c
index 23143fafcaf73f8ddca51acc8435610a1f0c44a8..3c2a91ce6acea81161f66e7676c88f052a58e3b1 100644
--- a/components/st3m/st3m_scope.c
+++ b/components/st3m/st3m_scope.c
@@ -6,8 +6,10 @@
 #include "freertos/FreeRTOS.h"
 #include "freertos/atomic.h"
 
-#include "ctx.h"
+// clang-format off
 #include "ctx_config.h"
+#include "ctx.h"
+// clang-format on
 
 st3m_scope_t scope = {
     0,
diff --git a/usermodule/mp_hardware.c b/usermodule/mp_hardware.c
index 993d2e34ef6da25b6335b8f9af56a8e37b8043da..0c7cce149c3a485e5d95506ae902f8cbfd81dcdd 100644
--- a/usermodule/mp_hardware.c
+++ b/usermodule/mp_hardware.c
@@ -19,8 +19,10 @@
 #include "st3m_scope.h"
 #include "st3m_usb.h"
 
-#include "ctx.h"
+// clang-format off
 #include "ctx_config.h"
+#include "ctx.h"
+// clang-format on
 
 mp_obj_t mp_ctx_from_ctx(Ctx *ctx);
 
diff --git a/usermodule/mp_uctx.c b/usermodule/mp_uctx.c
index 1643fb285bae3b8afee9f09f3e7ccf34e7be68c8..734d75011ca406b30a90199fd3cefbff13e8c912 100644
--- a/usermodule/mp_uctx.c
+++ b/usermodule/mp_uctx.c
@@ -8,8 +8,10 @@
 #include "py/objarray.h"
 #include "py/runtime.h"
 
-#include "ctx.h"
+// clang-format off
 #include "ctx_config.h"
+#include "ctx.h"
+// clang-format on
 
 typedef struct _mp_ctx_obj_t {
     mp_obj_base_t base;