diff --git a/ospfd/ospf_main.c b/ospfd/ospf_main.c
index 1a200a8..2dd997e 100644
--- a/ospfd/ospf_main.c
+++ b/ospfd/ospf_main.c
@@ -80,7 +80,6 @@
   { "daemon",      no_argument,       NULL, 'd'},
   { "config_file", required_argument, NULL, 'f'},
   { "pid_file",    required_argument, NULL, 'i'},
-  { "log_mode",    no_argument,       NULL, 'l'},
   { "dryrun",      no_argument,       NULL, 'C'},
   { "help",        no_argument,       NULL, 'h'},
   { "vty_addr",    required_argument, NULL, 'A'},
@@ -215,7 +214,7 @@
     {
       int opt;
 
-      opt = getopt_long (argc, argv, "dlf:i:hA:P:u:g:avC", longopts, 0);
+      opt = getopt_long (argc, argv, "df:i:hA:P:u:g:avC", longopts, 0);
     
       if (opt == EOF)
 	break;
diff --git a/ripngd/ripng_main.c b/ripngd/ripng_main.c
index 4877485..f174610 100644
--- a/ripngd/ripng_main.c
+++ b/ripngd/ripng_main.c
@@ -47,7 +47,6 @@
   { "daemon",      no_argument,       NULL, 'd'},
   { "config_file", required_argument, NULL, 'f'},
   { "pid_file",    required_argument, NULL, 'i'},
-  { "log_mode",    no_argument,       NULL, 'l'},
   { "dryrun",      no_argument,       NULL, 'C'},
   { "help",        no_argument,       NULL, 'h'},
   { "vty_addr",    required_argument, NULL, 'A'},
@@ -113,7 +112,6 @@
 -d, --daemon       Runs in daemon mode\n\
 -f, --config_file  Set configuration file name\n\
 -i, --pid_file     Set process identifier file name\n\
--l. --log_mode     Set verbose log mode flag\n\
 -A, --vty_addr     Set vty's bind address\n\
 -P, --vty_port     Set vty's port number\n\
 -r, --retain       When program terminates, retain added route by ripngd.\n\
@@ -207,7 +205,7 @@
     {
       int opt;
 
-      opt = getopt_long (argc, argv, "dlf:i:hA:P:u:g:vC", longopts, 0);
+      opt = getopt_long (argc, argv, "df:i:hA:P:u:g:vC", longopts, 0);
     
       if (opt == EOF)
 	break;
@@ -219,9 +217,6 @@
 	case 'd':
 	  daemon_mode = 1;
 	  break;
-	case 'l':
-	  /* log_mode = 1; */
-	  break;
 	case 'f':
 	  config_file = optarg;
 	  break;
diff --git a/zebra/main.c b/zebra/main.c
index 61750f1..14b0273 100644
--- a/zebra/main.c
+++ b/zebra/main.c
@@ -69,7 +69,6 @@
   { "batch",       no_argument,       NULL, 'b'},
   { "daemon",      no_argument,       NULL, 'd'},
   { "keep_kernel", no_argument,       NULL, 'k'},
-  { "log_mode",    no_argument,       NULL, 'l'},
   { "config_file", required_argument, NULL, 'f'},
   { "pid_file",    required_argument, NULL, 'i'},
   { "help",        no_argument,       NULL, 'h'},
@@ -131,7 +130,6 @@
 	      "-i, --pid_file     Set process identifier file name\n"\
 	      "-k, --keep_kernel  Don't delete old routes which installed by "\
 				  "zebra.\n"\
-	      "-l, --log_mode     Set verbose log mode flag\n"\
 	      "-C, --dryrun       Check configuration for validity and exit\n"\
 	      "-A, --vty_addr     Set vty's bind address\n"\
 	      "-P, --vty_port     Set vty's port number\n"\
@@ -231,9 +229,9 @@
       int opt;
   
 #ifdef HAVE_NETLINK  
-      opt = getopt_long (argc, argv, "bdklf:i:hA:P:ru:g:vs:C", longopts, 0);
+      opt = getopt_long (argc, argv, "bdkf:i:hA:P:ru:g:vs:C", longopts, 0);
 #else
-      opt = getopt_long (argc, argv, "bdklf:i:hA:P:ru:g:vC", longopts, 0);
+      opt = getopt_long (argc, argv, "bdkf:i:hA:P:ru:g:vC", longopts, 0);
 #endif /* HAVE_NETLINK */
 
       if (opt == EOF)
@@ -254,9 +252,6 @@
 	case 'C':
 	  dryrun = 1;
 	  break;
-	case 'l':
-	  /* log_mode = 1; */
-	  break;
 	case 'f':
 	  config_file = optarg;
 	  break;
diff --git a/zebra/test_main.c b/zebra/test_main.c
index 46f73bb..e186fea 100644
--- a/zebra/test_main.c
+++ b/zebra/test_main.c
@@ -56,7 +56,6 @@
 {
   { "batch",       no_argument,       NULL, 'b'},
   { "daemon",      no_argument,       NULL, 'd'},
-  { "log_mode",    no_argument,       NULL, 'l'},
   { "config_file", required_argument, NULL, 'f'},
   { "help",        no_argument,       NULL, 'h'},
   { "vty_addr",    required_argument, NULL, 'A'},
@@ -93,7 +92,6 @@
 	      "-b, --batch        Runs in batch mode\n"\
 	      "-d, --daemon       Runs in daemon mode\n"\
 	      "-f, --config_file  Set configuration file name\n"\
-	      "-l, --log_mode     Set verbose log mode flag\n"\
 	      "-A, --vty_addr     Set vty's bind address\n"\
 	      "-P, --vty_port     Set vty's port number\n"\
 	      "-r, --rib_hold	  Set rib-queue hold time\n"\
@@ -224,7 +222,7 @@
     {
       int opt;
   
-      opt = getopt_long (argc, argv, "bdlf:hA:P:r:v", longopts, 0);
+      opt = getopt_long (argc, argv, "bdf:hA:P:r:v", longopts, 0);
 
       if (opt == EOF)
 	break;
@@ -238,9 +236,6 @@
 	case 'd':
 	  daemon_mode = 1;
 	  break;
-	case 'l':
-	  /* log_mode = 1; */
-	  break;
 	case 'f':
 	  config_file = optarg;
 	  break;
