diff --git a/matlab/parallel/dynareParallelRmDir.m b/matlab/parallel/dynareParallelRmDir.m
index fbdf3ad39c93f828510c93640daef00e181a7773..e52786eeda339877d09d1d86ad58bb2e362a97eb 100644
--- a/matlab/parallel/dynareParallelRmDir.m
+++ b/matlab/parallel/dynareParallelRmDir.m
@@ -35,10 +35,28 @@ if nargin ==0,
     return
 end
 
+% security check of remote folder delete
+ok(1)=isempty(strfind(Parallel_info.RemoteTmpFolder,'..'));
+tmp1=strfind(Parallel_info.RemoteTmpFolder,'2');
+ok(2)=tmp1(1)==1;
+ok(3)=~isempty(strfind(Parallel_info.RemoteTmpFolder,'-'));
+ok(4)=~isempty(strfind(Parallel_info.RemoteTmpFolder,'h'));
+ok(5)=~isempty(strfind(Parallel_info.RemoteTmpFolder,'m'));
+ok(6)=~isempty(strfind(Parallel_info.RemoteTmpFolder,'s'));
+ok(7)=~isempty(PRCDir);
+
+if sum(ok)<7,
+    error('The name of the remote tmp folder does not comply the security standards!'),
+end
+
 for indPC=1:length(Parallel),
+    ok(1)=isempty(strfind(Parallel(indPC).RemoteDirectory,'..'));
+    if sum(ok)<7,
+        error('The remote folder path structure does not comply the security standards!'),
+    end
     while (1)
         if ~ispc
-            stat = system(['ssh ',Parallel(indPC).UserName,'@',Parallel(indPC).ComputerName,' rm -fr ',Parallel(indPC).RemoteDirectory,'/',PRCDir]);
+            [stat NonServe] = system(['ssh ',Parallel(indPC).UserName,'@',Parallel(indPC).ComputerName,' rm -fr ',Parallel(indPC).RemoteDirectory,'/',PRCDir]);
             break;
         else
             if exist('OCTAVE_VERSION'), % Patch for peculiar behaviour of rmdir under Windows.