diff --git a/code/classes/SCDclass_expcode.m b/code/classes/SCDclass_expcode.m
index e02f6358b00f1a5cdda085c49f95036ead3475e2..454fbe226ed78e30b852f3b25b56d100620c4e3c 100644
--- a/code/classes/SCDclass_expcode.m
+++ b/code/classes/SCDclass_expcode.m
@@ -422,8 +422,8 @@ classdef SCDclass_expcode
            obj.buildworkspacetpstruct;
            
            %% Set Cache Folder for experimental code (avoid conflicts with other tmp files)
-           CacheFolder = fullfile(fileparts(mfilename('fullpath')),'gencodes',...
-             sprintf('CacheFolder-%d',obj.maincode));
+           CacheFolder = fullfile(fileparts(mfilename('fullpath')),'..','..',...
+             'gencodes',sprintf('CacheFolder-%d',obj.maincode));
            fprintf('Setting Simulink Cache folder to %s\n',CacheFolder)
            Simulink.fileGenControl('set',...
              'CacheFolder',CacheFolder,...
@@ -592,8 +592,8 @@ classdef SCDclass_expcode
            end
          
             % set CodeGen folder for this expcode (allows fast rebuilding)
-           CodeGenFolder = fullfile(fileparts(mfilename('fullpath')),'gencodes',...
-             sprintf('CodeGenFolder-%d',obj.maincode));
+           CodeGenFolder = fullfile(fileparts(mfilename('fullpath')),'..','..',...
+             'gencodes',sprintf('CodeGenFolder-%d',obj.maincode));
   
            fprintf(' ...Setting code generation folder to %s\n',CodeGenFolder)
            Simulink.fileGenControl('set',...