diff --git a/js/osticket.js b/js/osticket.js
index bd2f937e61af3b5f7cabd3b53e1d635cbb324486..c88c925b8d8453fe1f102e2b7e0d28e6bd6eb472 100644
--- a/js/osticket.js
+++ b/js/osticket.js
@@ -45,6 +45,9 @@ $(document).ready(function(){
 
     $('form').submit(function() {
         $(window).unbind('beforeunload');
+        // Disable client-side Post Reply/Create Ticket buttons to help
+        // prevent duplicate POST
+        $(':submit', $(this)).attr('disabled', true);
         $('#overlay, #loading').show();
         return true;
        });
diff --git a/scp/js/scp.js b/scp/js/scp.js
index 27d8e6167f94b1fc666aa0bdc1e4d466a5be6cd4..c6e6f3c877756bc9e568a931e7ba353af114d8e9 100644
--- a/scp/js/scp.js
+++ b/scp/js/scp.js
@@ -163,6 +163,9 @@ var scp_prep = function() {
 
     $('form.save, form:has(table.list)').submit(function() {
         $(window).unbind('beforeunload');
+        // Disable staff-side Post Reply/Open buttons to help prevent
+        // duplicate POST
+        $(':submit', $(this)).attr('disabled', true);
         $('#overlay, #loading').show();
         return true;
      });