diff --git a/codec.m b/codec.m
index e133dd78b13c37e6b94ba26056a79f3d21ca52bf..90e00c279806ec09b17a2fc1d70b3ffd4cb20174 100644
--- a/codec.m
+++ b/codec.m
@@ -94,7 +94,7 @@ extraHEVCArgList = paramToArgList(extraHEVCParams);
 if ispc
     redirect = @(logfile) ['> "',logfile,'" | type "' logfile, '"'];
 elseif isunix
-    redirect = @(logfile) ['| tee ' ,logfile];
+    redirect = @(logfile) ['| tee "' ,logfile, '"'];
 end
 
 % Execute command
diff --git a/decode.m b/decode.m
index 1093ea85ead2c8acca7558c0905516ab20c2d7cf..989468f817d6b5ed6779ed51c2742ee3f7323438 100644
--- a/decode.m
+++ b/decode.m
@@ -41,7 +41,7 @@ if status, error('HEVC Error'); end
 end
 
 function argList = paramToArg(parameters,values)
-argList = cellfun(@(param,val) ['--',param,'=',val],...
+argList = cellfun(@(param,val) ['--',param,'="',val,'"'],...
     parameters,values,'UniformOutput',false);
 argList = strjoin(argList(:));
 end
\ No newline at end of file
diff --git a/encode.m b/encode.m
index dfb0d449f308c04e626b3b58927995257fbf1a6f..2272d0f84af9b0db698a873ab3c5bd11eab86fed 100644
--- a/encode.m
+++ b/encode.m
@@ -72,7 +72,7 @@ function argList = paramToArg(parameters,values)
 indLog  = strcmp(parameters,'LogFile'); ind = indLog;
 
 argLog  = strjoin(['>' ,values(indLog) ]);
-argList = cellfun(@(param,val) ['--',param,'=',val],...
+argList = cellfun(@(param,val) ['--',param,'="',val,'"'],...
     parameters(~ind),values(~ind),'UniformOutput',false);
 
 argList = [argList;argLog];
diff --git a/encodedecode.m b/encodedecode.m
index 78793f71da702e90d6121dea99eb12ebba6dbb7c..db466bf040544e77f61d627fbea1a4b6712ce056 100644
--- a/encodedecode.m
+++ b/encodedecode.m
@@ -72,7 +72,7 @@ function argList = paramToArg(parameters,values)
 indLog  = strcmp(parameters,'LogFile'); ind = indLog;
 
 argLog  = strjoin(['>' ,values(indLog) ]);
-argList = cellfun(@(param,val) ['--',param,'=',val],...
+argList = cellfun(@(param,val) ['--',param,'="',val,'"'],...
     parameters(~ind),values(~ind),'UniformOutput',false);
 
 argList = [argList;argLog];