diff --git a/matlab/solve_one_boundary.m b/matlab/solve_one_boundary.m
index 9998ea3f3a9efedf82fe8bf355371d4244561f4f..a1ca5ead940131bcc4dd9eadad5d1093a8189cfc 100644
--- a/matlab/solve_one_boundary.m
+++ b/matlab/solve_one_boundary.m
@@ -143,6 +143,14 @@ for it_=start:incr:finish
                                 if verbose
                                     disp('The singularity of the jacobian matrix could not be corrected')
                                 end
+                                if is_dynamic
+                                    oo_.deterministic_simulation.status = false;
+                                    oo_.deterministic_simulation.error = max_res;
+                                    oo_.deterministic_simulation.iterations = iter;
+                                    oo_.deterministic_simulation.block(Block_Num).status = false;% Convergency failed.
+                                    oo_.deterministic_simulation.block(Block_Num).error = max_res;
+                                    oo_.deterministic_simulation.block(Block_Num).iterations = iter;
+                                end
                                 info = -Block_Num*10;
                                 return
                             end
@@ -275,16 +283,11 @@ for it_=start:incr:finish
                     end
                 end
             else
-                if verbose
-                    disp('unknown option : ')
-                    if is_dynamic
-                        disp(['options_.stack_solve_algo = ' num2str(stack_solve_algo) ' not implemented'])
-                    else
-                        disp(['options_.solve_algo = ' num2str(options.solve_algo) ' not implemented'])
-                    end
+                if is_dynamic
+                    error(['options_.stack_solve_algo = ' num2str(stack_solve_algo) ' not implemented'])
+                else
+                    error(['options_.solve_algo = ' num2str(options.solve_algo) ' not implemented'])
                 end
-                info = -Block_Num*10;
-                return
             end
             iter=iter+1;
             max_resa = max_res;
diff --git a/matlab/solve_two_boundaries.m b/matlab/solve_two_boundaries.m
index c6c4a1c7102d34a29e6795c2e6781fd005f591bf..5fe1c1d7b827b39c151590d085f1a09b49d56172 100644
--- a/matlab/solve_two_boundaries.m
+++ b/matlab/solve_two_boundaries.m
@@ -136,6 +136,12 @@ while ~(cvg==1 || iter>maxit_)
                             continue
                         else
                             disp('The singularity of the jacobian matrix could not be corrected');
+                            oo.deterministic_simulation.status = false;
+                            oo.deterministic_simulation.error = max_res;
+                            oo.deterministic_simulation.iterations = iter;
+                            oo.deterministic_simulation.block(Block_Num).status = false;% Convergency failed.
+                            oo.deterministic_simulation.block(Block_Num).error = max_res;
+                            oo.deterministic_simulation.block(Block_Num).iterations = iter;
                             return
                         end
                     end