diff --git a/gulp_tasks/misc.js b/gulp_tasks/misc.js
index e9fe0f0..6a02ecc 100644
--- a/gulp_tasks/misc.js
+++ b/gulp_tasks/misc.js
@@ -4,6 +4,7 @@
 const del = require('del');
 const filter = require('gulp-filter');
 const rename = require('gulp-rename');
+const replace = require('gulp-replace');
 
 const conf = require('../conf/gulp.conf');
 const cfgFolder = path.join(conf.paths.src, 'app/config');
@@ -12,7 +13,8 @@
 gulp.task('other', other);
 gulp.task('brand', styleConfig);
 gulp.task('appConfig', appConfig);
-gulp.task('config', gulp.series('brand', 'appConfig'));
+gulp.task('copyCfgInterfaces', copyCfgInterfaces);
+gulp.task('config', gulp.series('copyCfgInterfaces', 'brand', 'appConfig'));
 
 function clean() {
   return del([conf.paths.dist, conf.paths.tmp]);
@@ -39,6 +41,7 @@
 }
 
 function styleConfig() {
+  // TODO copy interfaces
   const env = process.env.BRAND || 'cord';
   return gulp.src([
     path.join(conf.paths.appConfig, `style.config.${env}.ts`)
@@ -47,6 +50,14 @@
     .pipe(gulp.dest(cfgFolder));
 }
 
+function copyCfgInterfaces() {
+  return gulp.src([
+    path.join(conf.paths.appConfig, `interfaces.ts`)
+  ])
+    .pipe(replace('../../src/app/core/services/navigation', '../core/services/navigation'))
+    .pipe(gulp.dest(cfgFolder));
+}
+
 function other() {
   const fileFilter = filter(file => file.stat.isFile());
 
