diff -Naur wget-1.14_/src/http.c wget-1.14/src/http.c
--- wget-1.14_/src/http.c	2012-07-07 10:57:20.000000000 +0200
+++ wget-1.14/src/http.c	2013-05-23 17:52:09.695217613 +0200
@@ -1628,23 +1628,23 @@
 
 #ifdef __VMS
 #define SET_USER_AGENT(req) do {                                         \
-  if (!opt.useragent)                                                    \
+  if (opt.useragent && *opt.useragent)                                   \
+    request_set_header (req, "User-Agent", opt.useragent, rel_none);     \
+  else if (opt.defaultuseragent)                                         \
     request_set_header (req, "User-Agent",                               \
                         aprintf ("Wget/%s (VMS %s %s)",                  \
                         version_string, vms_arch(), vms_vers()),         \
                         rel_value);                                      \
-  else if (*opt.useragent)                                               \
-    request_set_header (req, "User-Agent", opt.useragent, rel_none);     \
 } while (0)
 #else /* def __VMS */
 #define SET_USER_AGENT(req) do {                                         \
-  if (!opt.useragent)                                                    \
+  if (opt.useragent && *opt.useragent)                                   \
+    request_set_header (req, "User-Agent", opt.useragent, rel_none);     \
+  else if (opt.defaultuseragent)                                         \
     request_set_header (req, "User-Agent",                               \
                         aprintf ("Wget/%s (%s)",                         \
                         version_string, OS_TYPE),                        \
                         rel_value);                                      \
-  else if (*opt.useragent)                                               \
-    request_set_header (req, "User-Agent", opt.useragent, rel_none);     \
 } while (0)
 #endif /* def __VMS [else] */
 
diff -Naur wget-1.14_/src/init.c wget-1.14/src/init.c
--- wget-1.14_/src/init.c	2012-07-08 11:35:36.000000000 +0200
+++ wget-1.14/src/init.c	2013-05-23 17:54:15.648655194 +0200
@@ -158,6 +158,7 @@
   { "debug",            &opt.debug,             cmd_boolean },
 #endif
   { "defaultpage", 	&opt.default_page,      cmd_string},
+  { "defaultuseragent", &opt.defaultuseragent,  cmd_boolean },
   { "deleteafter",      &opt.delete_after,      cmd_boolean },
   { "dirprefix",        &opt.dir_prefix,        cmd_directory },
   { "dirstruct",        NULL,                   cmd_spec_dirstruct },
diff -Naur wget-1.14_/src/main.c wget-1.14/src/main.c
--- wget-1.14_/src/main.c	2012-07-07 10:26:21.000000000 +0200
+++ wget-1.14/src/main.c	2013-05-23 17:53:41.250449700 +0200
@@ -184,6 +184,7 @@
     { "cut-dirs", 0, OPT_VALUE, "cutdirs", -1 },
     { WHEN_DEBUG ("debug"), 'd', OPT_BOOLEAN, "debug", -1 },
     { "default-page", 0, OPT_VALUE, "defaultpage", -1 },
+    { "defaultuseragent", 'u', OPT_BOOLEAN, "defaultuseragent", -1 },
     { "delete-after", 0, OPT_BOOLEAN, "deleteafter", -1 },
     { "directories", 0, OPT_BOOLEAN, "dirstruct", -1 },
     { "directory-prefix", 'P', OPT_VALUE, "dirprefix", -1 },
@@ -360,6 +361,7 @@
 
       longopt = &long_options[o++];
       longopt->name = opt->long_name;
+
       longopt->val = i;
       if (opt->short_name)
         {
@@ -578,6 +580,8 @@
        --default-page=NAME     Change the default page name (normally\n\
                                this is `index.html'.).\n"),
     N_("\
+  -u,  --defaultuseragent      send user agent (suppressed by default).\n"),
+    N_("\
   -E,  --adjust-extension      save HTML/CSS documents with proper extensions.\n"),
     N_("\
        --ignore-length         ignore `Content-Length' header field.\n"),
diff -Naur wget-1.14_/src/options.h wget-1.14/src/options.h
--- wget-1.14_/src/options.h	2012-06-06 13:42:10.000000000 +0200
+++ wget-1.14/src/options.h	2013-05-23 17:24:08.100289119 +0200
@@ -31,6 +31,7 @@
 
 struct options
 {
+  bool defaultuseragent;	/* Do we send UA by default? */
   int verbose;			/* Are we verbose?  (First set to -1,
                                    hence not boolean.) */
   bool quiet;			/* Are we quiet? */
