diff --git a/code/classes/SCDclass_expcode.m b/code/classes/SCDclass_expcode.m
index 8e7a03f222027e991075a9ec17b1355869d868c9..e02f6358b00f1a5cdda085c49f95036ead3475e2 100644
--- a/code/classes/SCDclass_expcode.m
+++ b/code/classes/SCDclass_expcode.m
@@ -420,6 +420,15 @@ classdef SCDclass_expcode
            fprintf('Setting up expcode %d, ''%s'', configuring main workspace variables ...\n',obj.maincode,obj.name);           
            obj.buildworkspacesimstruct;
            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));
+           fprintf('Setting Simulink Cache folder to %s\n',CacheFolder)
+           Simulink.fileGenControl('set',...
+             'CacheFolder',CacheFolder,...
+             'createdir',true);
+           
         end
         
         function actualize(obj, shot, varargin)