diff --git a/matlab/evaluate_static_model.m b/matlab/evaluate_static_model.m
index afb9bc26a4bef48c7f31262a2132094b4d4d64d5..e505ce6aede15edf898ff51af36f7baf4f6e30e7 100644
--- a/matlab/evaluate_static_model.m
+++ b/matlab/evaluate_static_model.m
@@ -39,8 +39,14 @@ function [residuals,check1,jacob] = evaluate_static_model(ys,exo_ss,params,M,opt
 
 check1 = 0;
 if options.bytecode
-    residuals = bytecode('evaluate','static',ys,...
+    if nargout<3
+        [residuals]= bytecode('evaluate','static',ys,...
                          exo_ss, params, ys, 1);
+    else
+        [residuals, junk]= bytecode('evaluate','static',ys,...
+            exo_ss, params, ys, 1);
+        jacob = junk.g1;
+    end      
 else
     fh_static = str2func([M.fname '.static']);
     if options.block
@@ -60,6 +66,9 @@ else
                 [~, ~, T] = feval(fh_static,b,ys,exo_ss,params,T);
             end
         end
+        if nargout==3
+            jacob=NaN(length(ys));
+        end
     else
         if nargout<3
             residuals = feval(fh_static,ys,exo_ss,params);