diff --git a/externals/x13/installx13.m b/externals/x13/installx13.m
index 90620a9c3eee180bb57713d8afceea57d196a327..cb299212caccd778506cddc5188a845fda51be96 100644
--- a/externals/x13/installx13.m
+++ b/externals/x13/installx13.m
@@ -26,6 +26,7 @@ if ~exist('x13.zip','file')
     end
     unzip('x13.zip');
     movefile('binaries/linux','./linux');
+    movefile('binaries/osx','./osx');
     movefile('binaries/windows','./windows');
     rmdir('binaries');
 end
diff --git a/src/@dseries/cumprod.m b/src/@dseries/cumprod.m
index 8d89ff452e4e47f0057f193c940b7f007417992c..ca16b58c583ae1716bcefa0053fe7ccd935271c4 100644
--- a/src/@dseries/cumprod.m
+++ b/src/@dseries/cumprod.m
@@ -32,7 +32,11 @@ o = copy(varargin{1});
 if nargin<2
     o.cumprod_();
 else
-    o.cumprod_(varargin{2:end});
+    if isoctave
+        o = cumprod_(o, varargin{2:end});
+    else
+        o.cumprod_(varargin{2:end});
+    end
 end
 
 %@test:1
diff --git a/src/@dseries/cumsum.m b/src/@dseries/cumsum.m
index cf80842582047b535d771a85d80162e2c40c956f..b7eed70bd729ad90083afddaf2246273aaccf6ee 100644
--- a/src/@dseries/cumsum.m
+++ b/src/@dseries/cumsum.m
@@ -32,7 +32,11 @@ o = copy(varargin{1});
 if nargin<2
     o.cumsum_();
 else
-    o.cumsum_(varargin{2:end});
+    if isoctave()
+        o = cumsum_(o, varargin{2:end});
+    else
+        o.cumsum_(varargin{2:end});
+    end
 end
 
 %@test:1
diff --git a/src/utilities/x13/select_x13_binary.m b/src/utilities/x13/select_x13_binary.m
index 07d33cb6907efdd5fc657d24330bd011f9589599..662eef59423241e98300c4c15e6d4a6aaaec6ecb 100644
--- a/src/utilities/x13/select_x13_binary.m
+++ b/src/utilities/x13/select_x13_binary.m
@@ -32,6 +32,13 @@ elseif ispc()
     else
         x13_binary = sprintf('%s%s%s%s', x13_binary, '32', filesep(), 'x13.exe');
     end
+elseif ismac()
+    x13_binary = sprintf('%s%s%s', dseries_x13_root, 'osx', filesep());
+    if is64bit()
+        x13_binary = sprintf('%s%s%s%s', x13_binary, '64', filesep(), 'x13');
+    else
+        x13_binary = sprintf('%s%s%s%s', x13_binary, '32', filesep(), 'x13');
+    end
 else
     error('X13 binary is not yet available for this plateform')
 end
\ No newline at end of file
diff --git a/tests/runalltests.m b/tests/runalltests.m
index 5ca0fb1b4646a8645a4a4da5c9e84861a3a4835c..8e7e36a83957b4b4cfffcafbfe59e1591e274e50 100644
--- a/tests/runalltests.m
+++ b/tests/runalltests.m
@@ -13,6 +13,10 @@
 % You should have received a copy of the GNU General Public License
 % along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
 
+if isoctave()
+    pkg install -forge io
+end
+
 opath = path();
 
 system('rm -f failed');