diff --git a/src/OCE/DYN/dynspg_ts.F90 b/src/OCE/DYN/dynspg_ts.F90
index 83b2d99cac15b0fec655681371eb81ca929b9064..21e76f5b5a4758e22cd407f945ea01e2e96dfb43 100644
--- a/src/OCE/DYN/dynspg_ts.F90
+++ b/src/OCE/DYN/dynspg_ts.F90
@@ -789,7 +789,7 @@ CONTAINS
 #if defined key_RK3
       !                                                !*  RK3 case
       !
-      IF(.NOT.ln_dynadv_vec .AND. ln_bt_av ) THEN                  ! at this stage, pssh(:,:,:,Krhs) has been corrected: compute new depths at velocity points
+      IF( (.NOT.(ln_dynadv_vec .OR. ln_linssh)) .AND. ln_bt_av ) THEN                  ! at this stage, pssh(:,:,:,Krhs) has been corrected: compute new depths at velocity points
          !
 # if defined key_qcoTest_FluxForm
          !                                       ! 'key_qcoTest_FluxForm' : simple ssh average