diff --git a/networking/wget.c b/networking/wget.c
index 44eb4cf..f10897b 100644
--- a/networking/wget.c
+++ b/networking/wget.c
@@ -596,6 +596,7 @@ int wget_main(int argc UNUSED_PARAM, char **argv)
 	bool use_proxy;                 /* Use proxies if env vars are set  */
 	const char *proxy_flag = "on";  /* Use proxies if env vars are set  */
 	const char *user_agent = "Wget";/* "User-Agent" header field        */
+	bool multiple_urls = FALSE;		/* User is passing multiple urls	*/
 
 	static const char keywords[] ALIGN1 =
 		"content-length\0""transfer-encoding\0""chunked\0""location\0";
@@ -657,8 +658,7 @@ int wget_main(int argc UNUSED_PARAM, char **argv)
 	}
 #endif
 
-	/* TODO: compat issue: should handle "wget URL1 URL2..." */
-
+	while (optind < argc) {
 	target.user = NULL;
 	parse_url(argv[optind], &target);
 
@@ -925,8 +925,12 @@ However, in real world it was observed that some web servers
 	if (output_fd < 0) {
 		int o_flags = O_WRONLY | O_CREAT | O_TRUNC | O_EXCL;
 		/* compat with wget: -O FILE can overwrite */
-		if (opt & WGET_OPT_OUTNAME)
-			o_flags = O_WRONLY | O_CREAT | O_TRUNC;
+		if (opt & WGET_OPT_OUTNAME) {
+			if (!multiple_urls)	//first url, we overwrite like gnu wget
+				o_flags = O_WRONLY | O_CREAT | O_TRUNC;
+			else //next url, we append like gnu wget
+				o_flags = O_WRONLY | O_APPEND;
+		}
 		output_fd = xopen(fname_out, o_flags);
 	}
 
@@ -940,6 +944,11 @@ However, in real world it was observed that some web servers
 			bb_error_msg_and_die("ftp error: %s", sanitize_string(G.wget_buf + 4));
 		/* ftpcmd("QUIT", NULL, sfp); - why bother? */
 	}
+	
+		optind++;
+		output_fd = -1;
+		multiple_urls = TRUE;
+	}
 
 	return EXIT_SUCCESS;
 }
