diff --git a/src/MNH/compute_frac_ice.f90 b/src/MNH/compute_frac_ice.f90
index 33d4c93608d0e2ff8f0518009b4ec33bf90e031c..037bafb2eca378cf82c6ba3c2aaf4a5180430860 100644
--- a/src/MNH/compute_frac_ice.f90
+++ b/src/MNH/compute_frac_ice.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2006-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2006-2022 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -358,20 +358,26 @@ REAL, DIMENSION(:,:,:), INTENT(INOUT) :: PFRAC_ICE  ! Ice fraction (1 for ice on
 !------------------------------------------------------------------------
 !                1. Compute FRAC_ICE
 !
-!$acc kernels
 SELECT CASE(HFRAC_ICE)
   CASE ('T') !using Temperature
+!$acc kernels
     PFRAC_ICE(:,:,:) = ( XTMAXMIX - PT(:,:,:) ) / ( XTMAXMIX - XTMINMIX ) ! freezing interval
+!$acc end kernels
   CASE ('O') !using Temperature with old formulae
+!$acc kernels
     PFRAC_ICE(:,:,:) = ( XTT - PT(:,:,:) ) / 40. ! freezing interval
+!$acc end kernels
   CASE ('N') !No ice
+!$acc kernels
     PFRAC_ICE(:,:,:) = 0.
+!$acc end kernels
   CASE ('S') !Same as previous
     !nothing to do
   CASE DEFAULT
     CALL PRINT_MSG(NVERB_FATAL,'GEN','COMPUTE_FRAC_ICE3D_DEVICE','invalid option')
 END SELECT
 !
+!$acc kernels
 PFRAC_ICE(:,:,:) = MAX( 0., MIN(1., PFRAC_ICE(:,:,:) ) )
 !$acc end kernels