diff --git a/control/descriptor.h b/control/descriptor.h
index e60b3909fd3d3483a935c309a532a1dafe8699fe..7d1cb20577e03e7c25e45a93f2253d295130f784 100644
--- a/control/descriptor.h
+++ b/control/descriptor.h
@@ -210,26 +210,26 @@ inline static int morse_desc_islocal( const MORSE_desc_t *A, int m, int n )
 
 #define MORSE_ACCESS_R(A, Am, An) do { \
     if (morse_desc_islocal(A, Am, An)) __morse_need_submit = 1; \
-    RUNTIME_ACCESS_R(A, Am, An) \
+    RUNTIME_ACCESS_R(A, Am, An); \
 } while(0)
 
 #define MORSE_ACCESS_W(A, Am, An) do { \
     if (morse_desc_islocal(A, Am, An)) __morse_need_submit = 1; \
-    RUNTIME_ACCESS_W(A, Am, An) \
+    RUNTIME_ACCESS_W(A, Am, An); \
 } while(0)
 
 #define MORSE_ACCESS_RW(A, Am, An) do { \
     if (morse_desc_islocal(A, Am, An)) __morse_need_submit = 1; \
-    RUNTIME_ACCESS_RW(A, Am, An) \
+    RUNTIME_ACCESS_RW(A, Am, An); \
 } while(0)
 
 #define MORSE_RANK_CHANGED(rank) do {\
     __morse_need_submit = 1; \
-    RUNTIME_RANK_CHANGED(rank) \
+    RUNTIME_RANK_CHANGED(rank); \
 } while (0)
 
 #define MORSE_END_ACCESS_DECLARATION \
-    RUNTIME_END_ACCESS_DECLARATION \
+    RUNTIME_END_ACCESS_DECLARATION; \
     if (!__morse_need_submit) return; \
 }