diff --git a/matlab/solve_one_boundary.m b/matlab/solve_one_boundary.m
index 3415aadab0c0bb55f6f23e7dae9e53bcb2019f36..c56e1512eb0be83312e454478d90ae99dee5d2c8 100644
--- a/matlab/solve_one_boundary.m
+++ b/matlab/solve_one_boundary.m
@@ -256,11 +256,13 @@ for it_=start:incr:finish
                 f = 0.5*r'*r;
                 p = -g1\r ;
                 if (is_dynamic)
-                    [ya,f,r,check]=lnsrch1(y(it_,:),f,g,p,stpmax,'lnsrch1_wrapper_one_boundary',nn,  y_index_eq, y_index_eq, fname, y, x, params, it_);
+                    [ya,f,r,check]=lnsrch1(y(it_,:)',f,g,p,stpmax,'lnsrch1_wrapper_one_boundary',nn,  y_index_eq, y_index_eq, fname, y, x, params, it_);
+                    dx = ya' - y(it_, :);
                 else
                     [ya,f,r,check]=lnsrch1(y,f,g,p,stpmax,fname,nn,y_index_eq,x, params, 0);
+                    dx = ya - y(y_index_eq);
                 end;
-                dx = ya - y(y_index_eq);
+                
                 if(is_dynamic)
                     y(it_,:) = ya';
                 else