diff --git a/src/ChangeLog b/src/ChangeLog
index 64fc6342..e9572051 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
+2013-04-24  Darshit Shah <darnir@gmail.com>
+
+	* http.c (gethttp): Remove check for opt.post_data and
+	opt.post_file_name.
+	* main.c (main): Change location in code where --post-data and
+	--post-file options are converted to --body-data --body-file.
+
 2013-04-21  Gijs van Tulder  <gvtulder@gmail.com>
 
 	* http.c: Copy opt.body_data to the WARC file, instead of
diff --git a/src/http.c b/src/http.c
index 88f7a96f..25ad4740 100644
--- a/src/http.c
+++ b/src/http.c
@@ -1765,8 +1765,6 @@ gethttp (struct url *u, struct http_stat *hs, int *dt, struct url *proxy,
     const char *meth = "GET";
     if (head_only)
       meth = "HEAD";
-    else if (opt.post_file_name || opt.post_data)
-      meth = "POST";
     else if (opt.method)
       {
         char *q;
diff --git a/src/main.c b/src/main.c
index d2e7d040..2b42d2d7 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1220,20 +1220,6 @@ main (int argc, char **argv)
   if (opt.verbose == -1)
     opt.verbose = !opt.quiet;
 
-  if (opt.post_data || opt.post_file_name)
-    {
-        setoptval ("method", "POST", "method");
-        if (opt.post_data)
-          {
-            setoptval ("bodydata", opt.post_data, "body-data");
-            opt.post_data = NULL;
-          }
-        else
-          {
-            setoptval ("bodyfile", opt.post_file_name, "body-file");
-            opt.post_file_name = NULL;
-          }
-    }
 
   /* Sanity checks.  */
   if (opt.verbose && opt.quiet)
@@ -1411,6 +1397,29 @@ for details.\n\n"));
         }
     }
 
+  /* Convert post_data to body-data and post_file_name to body-file options.
+     This is required so as to remove redundant code later on in gethttp().
+     The --post-data and --post-file options may also be removed in
+     the future hence it makes sense to convert them to aliases for
+     the more generic --method options.
+     This MUST occur only after the sanity checks so as to prevent the
+     user from setting both post and body options simultaneously.
+  */
+  if (opt.post_data || opt.post_file_name)
+    {
+        setoptval ("method", "POST", "method");
+        if (opt.post_data)
+          {
+            setoptval ("bodydata", opt.post_data, "body-data");
+            opt.post_data = NULL;
+          }
+        else
+          {
+            setoptval ("bodyfile", opt.post_file_name, "body-file");
+            opt.post_file_name = NULL;
+          }
+    }
+
 #ifdef ENABLE_IRI
   if (opt.enable_iri)
     {