diff --git a/core/errcode.c b/core/errcode.c
index 442df0209c52c89abe5931a1c1bf9bd5497cc700..f817f4cd18aa69c63b3a8cb3bef734fb5e3445f3 100644
--- a/core/errcode.c
+++ b/core/errcode.c
@@ -1,3 +1,12 @@
 #include <errcode.h>
 
-ERRCODE_RECORDS(error_codes, ERROR_CODES);
+#define ERRCODE_RECORD_MEMBER(s, f, d) {	\
+	.errstr = #s,				\
+	.errflags = f,				\
+	.errdesc = #d				\
+},
+
+struct errcode_record error_codes_records[error_codes_MAX] = {
+	ERROR_CODES(ERRCODE_RECORD_MEMBER)
+};
+
diff --git a/include/errcode.h b/include/errcode.h
index e723ebc5604076afda76e03751bae2bda0aa47ad..193d20e2fdce517abc64232126a397cae6a7910b 100644
--- a/include/errcode.h
+++ b/include/errcode.h
@@ -11,17 +11,6 @@ struct errcode_record {
 	const char *errdesc;
 };
 
-#define ERRCODE_RECORD_MEMBER(s, f, d) {	\
-	.errstr = #s,				\
-	.errflags = f,				\
-	.errdesc = #d				\
-},
-
-#define ERRCODE_RECORDS(enum_name, enum_members)			\
-	struct errcode_record enum_name##_records[enum_name##_MAX] = {	\
-		enum_members(ERRCODE_RECORD_MEMBER)			\
-	}
-
 #define ERRCODE_STR(enum_name, err) (enum_name##_records[err].errstr)
 #define ERRCODE_VAL(enum_name, err) (((err) << 8) | enum_name##_records[err].errflags)
 #define ERRCODE_DESC(enum_name, err) (enum_name##_records[err].errdesc)