Index: LMDZ6/trunk/libf/phylmd/cv3_routines.f90
===================================================================
--- LMDZ6/trunk/libf/phylmd/cv3_routines.f90	(revision 5706)
+++ LMDZ6/trunk/libf/phylmd/cv3_routines.f90	(revision 5707)
@@ -2134,19 +2134,22 @@
 ! compute icbmax:
 
-  icbmax = 2
-  DO i = 1, ncum
-    icbmax = max(icbmax, icb(i))
-  END DO
+!ym  icbmax = 2
+!ym  DO i = 1, ncum
+!ym    icbmax = max(icbmax, icb(i))
+!ym  END DO
 
 ! update sig and w0 below cloud base:
 
-  DO k = 1, icbmax
+!ym  DO k = 1, icbmax
+  DO k = 1, nd
     DO i = 1, ncum
-      IF (k<=icb(i)) THEN
-        sig(i, k) = beta*sig(i, k) - &
-                    2.*alpha*buoy(i, icb(i))*buoy(i, icb(i))
-        sig(i, k) = max(sig(i,k), 0.0)
-        w0(i, k) = beta*w0(i, k)
-      END IF
+      IF (k<=MAX(2,icb(i))) THEN
+        IF (k<=icb(i)) THEN
+          sig(i, k) = beta*sig(i, k) - &
+                      2.*alpha*buoy(i, icb(i))*buoy(i, icb(i))
+          sig(i, k) = max(sig(i,k), 0.0)
+          w0(i, k) = beta*w0(i, k)
+        END IF
+      ENDIF
     END DO
   END DO
