diff --git a/sette/all_functions.sh b/sette/all_functions.sh
index 326b38d1fb7069d5e6d4062dc87625b878d83a3e..bfea5a6260c6a24408f6f98aff7e9bf20bf0262c 100755
--- a/sette/all_functions.sh
+++ b/sette/all_functions.sh
@@ -292,7 +292,8 @@ set_namelist () {
 
 # Add $VARNAME in namelist file ${EXE_DIR}/$1 in namelist group $NAMGRP
 # on mac osx, replace sed --posix by gsed (available with mac port)
-                sed --posix "/${NAMGRP} /a\ ${VAR_NAME} " ${EXE_DIR}/$1 > ${EXE_DIR}/$1.tmp || gsed --posix "/${NAMGRP} /a\ ${VAR_NAME} " ${EXE_DIR}/$1 > ${EXE_DIR}/$1.tmp
+                sed    --posix -e "/${NAMGRP}[ !]/a\ ${VAR_NAME} " -e "/${NAMGRP}$/a\ ${VAR_NAME} " ${EXE_DIR}/$1 > ${EXE_DIR}/$1.tmp || \
+                  gsed --posix -e "/${NAMGRP}[ !]/a\ ${VAR_NAME} " -e "/${NAMGRP}$/a\ ${VAR_NAME} " ${EXE_DIR}/$1 > ${EXE_DIR}/$1.tmp
 
 # if file not empty replace ${EXE_DIR}/$1
                if [ -s ${EXE_DIR}/$1.tmp ] ; then