Incorporate feedback from #4113
diff --git a/acme/acme/client.py b/acme/acme/client.py
index 7555a1cc725..0324967cf86 100644
--- a/acme/acme/client.py
+++ b/acme/acme/client.py
@@ -681,16 +681,14 @@ def post(self, *args, **kwargs):
         be retried once.
 
         """
-        should_retry = True
-        while True:
-            try:
+        try:
+            return self._post_once(*args, **kwargs)
+        except messages.Error as error:
+            if error.code == 'badNonce':
+                logger.debug('Retrying request after error:\n%s', error)
                 return self._post_once(*args, **kwargs)
-            except messages.Error as error:
-                if should_retry and error.code == 'badNonce':
-                    logger.debug('Retrying request after error:\n%s', error)
-                    should_retry = False
-                else:
-                    raise
+            else:
+                raise
 
     def _post_once(self, url, obj, content_type=JOSE_CONTENT_TYPE, **kwargs):
         data = self._wrap_in_jws(obj, self._get_nonce(url))
diff --git a/acme/acme/client_test.py b/acme/acme/client_test.py
index e88baa340ab..a941a5b98db 100644
--- a/acme/acme/client_test.py
+++ b/acme/acme/client_test.py
@@ -717,6 +717,16 @@ def test_post_failed_retry(self):
         self.assertRaises(messages.Error, self.net.post, 'uri',
                           self.obj, content_type=self.content_type)
 
+    def test_post_not_retried(self):
+        check_response = mock.MagicMock()
+        check_response.side_effect = [messages.Error.with_code('malformed'),
+                                      self.checked_response]
+
+        # pylint: disable=protected-access
+        self.net._check_response = check_response
+        self.assertRaises(messages.Error, self.net.post, 'uri',
+                          self.obj, content_type=self.content_type)
+
     def test_post_successful_retry(self):
         check_response = mock.MagicMock()
         check_response.side_effect = [messages.Error.with_code('badNonce'),
