diff --git a/doc/configuration.txt b/doc/configuration.txt
index a591a21..a1383ad 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -752,7 +752,7 @@
 contimeout                  X          -         X         X  (deprecated)
 cookie                      X          -         X         X
 default-server              X          -         X         X
-default_backend             -          X         X         -
+default_backend             X          X         X         -
 description                 -          X         X         X
 disabled                    X          X         X         X
 dispatch                    -          -         X         X
@@ -762,7 +762,7 @@
 errorloc302                 X          X         X         X
 errorloc303                 X          X         X         X
 fullconn                    X          -         X         X
-grace                       -          X         X         X
+grace                       X          X         X         X
 hash-type                   X          -         X         X
 http-check disable-on-404   X          -         X         X
 id                          -          X         X         X
@@ -1867,7 +1867,7 @@
 grace <time>
   Maintain a proxy operational for some time after a soft stop
   May be used in sections :   defaults | frontend | listen | backend
-                                  no   |    yes   |   yes  |   yes
+                                 yes   |    yes   |   yes  |   yes
   Arguments :
     <time>    is the time (by default in milliseconds) for which the instance
               will remain operational with the frontend sockets still listening
diff --git a/src/cfgparse.c b/src/cfgparse.c
index 109c058..242ef82 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -1409,6 +1409,13 @@
 		int i, len=0;
 		char *d;
 
+		if (curproxy == &defproxy) {
+			Alert("parsing [%s:%d]: '%s' not allowed in 'defaults' section.\n",
+				 file, linenum, args[0]);
+			err_code |= ERR_ALERT | ERR_FATAL;
+			goto out;
+		}
+
 		if (!*args[1]) {
 			Alert("parsing [%s:%d]: '%s' expects a string argument.\n",
 				file, linenum, args[0]);
@@ -1711,6 +1718,12 @@
 			err_code |= ERR_WARN;
 
 		if (!strcmp(args[1], "cookie")) {  /* name of a cookie to capture */
+			if (curproxy == &defproxy) {
+				Alert("parsing [%s:%d] : '%s %s' not allowed in 'defaults' section.\n", file, linenum, args[0], args[1]);
+				err_code |= ERR_ALERT | ERR_FATAL;
+				goto out;
+			}
+
 			if (*(args[4]) == 0) {
 				Alert("parsing [%s:%d] : '%s' expects 'cookie' <cookie_name> 'len' <len>.\n",
 				      file, linenum, args[0]);
@@ -1845,6 +1858,12 @@
 		int cookie_set = 0;
 		unsigned int flags = REDIRECT_FLAG_NONE;
 
+		if (curproxy == &defproxy) {
+			Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+			err_code |= ERR_ALERT | ERR_FATAL;
+			goto out;
+		}
+
 		cur_arg = 1;
 		while (*(args[cur_arg])) {
 			if (!strcmp(args[cur_arg], "location")) {
@@ -3979,6 +3998,11 @@
 	}
 	else if (!strcmp(args[0], "srvexp") || !strcmp(args[0], "rsprep")) {  /* replace response header from a regex */
 		regex_t *preg;
+		if (curproxy == &defproxy) {
+			Alert("parsing [%s:%d] : '%s' not allowed in 'defaults' section.\n", file, linenum, args[0]);
+			err_code |= ERR_ALERT | ERR_FATAL;
+			goto out;
+		}
 	
 		if (*(args[1]) == 0 || *(args[2]) == 0) {
 			Alert("parsing [%s:%d] : '%s' expects <search> and <replace> as arguments.\n",
