diff --git a/include/ecrt.h b/include/ecrt.h
index c3e2ae81e07f917d2215ffc313dc6fb4ac492028..0aa580b8804285daae8674d2568fce9903f8cd3b 100644
--- a/include/ecrt.h
+++ b/include/ecrt.h
@@ -79,7 +79,7 @@ ec_slave_t *ecrt_domain_register_field(ec_domain_t *domain,
                                        unsigned int field_index,
                                        unsigned int field_count);
 int ecrt_domain_register_field_list(ec_domain_t *domain,
-                                    ec_field_init_t *fields);
+                                    const ec_field_init_t *fields);
 
 void ecrt_domain_queue(ec_domain_t *domain);
 void ecrt_domain_process(ec_domain_t *domain);
diff --git a/master/domain.c b/master/domain.c
index 18f792b539b09c0f19b47453e64d9ebe7df5c170..0fed456eb3cadd95851a465ec445c0051b71e015 100644
--- a/master/domain.c
+++ b/master/domain.c
@@ -360,11 +360,11 @@ ec_slave_t *ecrt_domain_register_field(ec_domain_t *domain,
 
 int ecrt_domain_register_field_list(ec_domain_t *domain,
                                     /**< Domäne */
-                                    ec_field_init_t *fields
+                                    const ec_field_init_t *fields
                                     /**< Array mit Datenfeldern */
                                     )
 {
-    ec_field_init_t *field;
+    const ec_field_init_t *field;
 
     for (field = fields; field->slave_address; field++)
         if (!ecrt_domain_register_field(domain, field->slave_address,