diff --git a/maestro/core.c b/maestro/core.c
index d7ad811e3a1ae7de059595cf69a063481cfca2b6..9dae1f66cf78d9ac5e223d482b3c3932129af73a 100644
--- a/maestro/core.c
+++ b/maestro/core.c
@@ -78,6 +78,21 @@ mstro_core_init(const char *workflow_name,
     ERR("Failed to parse built-in core schema\n");
     goto BAILOUT;
   }
+  /* FIXME: this should not be here */
+  DEBUG("Including ECMWF schema\n");
+  mstro_schema ecmwf;
+  status=mstro_schema_parse(MSTRO_SCHEMA_BUILTIN_YAML_ECMWF,
+                            MSTRO_SCHEMA_BUILTIN_YAML_ECMWF_LEN,
+                            &ecmwf);
+  if(status!=MSTRO_OK) {
+    ERR("Failed to parse built-in ecmwf schema\n");
+    goto BAILOUT;
+  }
+  status=mstro_schema_merge(g_mstro_core_schema_instance, ecmwf);
+  if(status!=MSTRO_OK) {
+    ERR("Failed to merge core and ECMWF schema\n");
+    goto BAILOUT;
+  }
 
   DEBUG("mstro_core_init: %s/%s/% "PRIi64 " in thread %" PRIxPTR" complete\n",
         data->workflow_name, data->component_name, data->component_index,