diff --git a/src/server_config.c b/src/server_config.c
index 5dc6fac0a2ef04368f4ea914e90f43723c069509..a7faf2036d486cdeb24bfdb8133746388dd34bc7 100644
--- a/src/server_config.c
+++ b/src/server_config.c
@@ -348,38 +348,39 @@ server_config_parse_example(const struct config_parser *parser,
       const struct config_option *option;
 
       for (option = parser->options; option->type != CONFIG_TYPE_NONE; option++)
-	{
-	  uint32_t value = 0;
-	  const uint8_t *data = NULL;
-
-	  unsigned length = strlen(option->example);
-
-	  switch (option->type)
-	    {
-	    default:
-	      fatal("Internal error.\n");
-
-	    case CONFIG_TYPE_BOOL:
-	      err = parse_value_bool(&value, length, option->example);
-	      break;
-
-	    case CONFIG_TYPE_UNSIGNED:
-	      err = parse_value_unsigned(&value, length, option->example);
-	      break;
-
-	    case CONFIG_TYPE_STRING:
-	      value = length;
-	      data = option->example;
-	      break;
-	    }
+	if (option->example)
+	  {
+	    uint32_t value = 0;
+	    const uint8_t *data = NULL;
+
+	    unsigned length = strlen(option->example);
+
+	    switch (option->type)
+	      {
+	      default:
+		fatal("Internal error.\n");
+
+	      case CONFIG_TYPE_BOOL:
+		err = parse_value_bool(&value, length, option->example);
+		break;
+
+	      case CONFIG_TYPE_UNSIGNED:
+		err = parse_value_unsigned(&value, length, option->example);
+		break;
+
+	      case CONFIG_TYPE_STRING:
+		value = length;
+		data = option->example;
+		break;
+	      }
 	  
-	  if (err)
-	    fatal("Bad example value for configuration option `%z'\n",
-		  option->name);
-	  else
-	    err = group->parser->handler(option->key, value, data, &group->state);
+	    if (err)
+	      fatal("Bad example value for configuration option `%z'\n",
+		    option->name);
+	    else
+	      err = group->parser->handler(option->key, value, data, &group->state);
 
-	}
+	  }
     }
   return parser_finalize(&state, err);
 }