diff --git a/sammy/src/sam/SammyApi.h b/sammy/src/sam/SammyApi.h
index 0d2c63861204b440045643d3d285d8fad5148351..f597158ca61a761699a677c020ac929c9abf7a89 100644
--- a/sammy/src/sam/SammyApi.h
+++ b/sammy/src/sam/SammyApi.h
@@ -13,7 +13,7 @@ void sammy_init_api(char * filename, int * sizeData);
 
 void sammy_get_theory(int * iter);
 
-void sammy_advance_theory();
+void sammy_update_pars();
 
 void sammy_run();
 
diff --git a/sammy/src/sam/sammy_api_m.f90 b/sammy/src/sam/sammy_api_m.f90
index b207c26cdd1fd58ae95038fe402e259d2f5c2b8c..4433f4d5262a083e6172704131f395b746d0c1ea 100755
--- a/sammy/src/sam/sammy_api_m.f90
+++ b/sammy/src/sam/sammy_api_m.f90
@@ -28,7 +28,7 @@ module sammy_api_m
     use EndfData_common_m, only : covData, expData
     implicit none
 
-    public sammy_init, sammy_run, sammy_finish, sammy_get_theory, sammy_advance_theory
+    public sammy_init, sammy_run, sammy_finish, sammy_get_theory, sammy_update_pars
 
     integer::K_Stop
     CHARACTER(len=6)::Where_To_Next
@@ -195,16 +195,13 @@ contains
       end if
     end subroutine
 
-    subroutine sammy_advance_theory() BIND(C,name="sammy_advance_theory")
+    subroutine sammy_update_pars() BIND(C,name="sammy_update_pars")
         logical::moreData, moreIter
-        if (Where_To_Next.eq.'samthe') return
 
-        Where_To_Next = 'samfin'        
-        ! call sammy_do_segments('samthe')
         moreData = .false.
         moreIter = .false.
         call Samfin_0(moreData, moreIter)  ! convert RR parameters
-    end subroutine sammy_advance_theory
+    end subroutine sammy_update_pars
 
     subroutine sammy_do_segments(endSeg)
         character(len=*)::endSeg