diff --git a/src/main/java/io/mifos/core/api/util/ApiFactory.java b/src/main/java/io/mifos/core/api/util/ApiFactory.java
index a2535c1..df67d44 100644
--- a/src/main/java/io/mifos/core/api/util/ApiFactory.java
+++ b/src/main/java/io/mifos/core/api/util/ApiFactory.java
@@ -47,6 +47,7 @@
         .errorDecoder(new AnnotatedErrorDecoder(logger, clazz))
         .requestInterceptor(new TenantedTargetInterceptor())
         .requestInterceptor(new TokenedTargetInterceptor())
+        .requestInterceptor(new EmptyBodyInterceptor())
         .requestInterceptor(client.getCookieInterceptor())
         .decoder(new GsonDecoder())
         .encoder(new GsonEncoder())
@@ -61,6 +62,7 @@
             .errorDecoder(new AnnotatedErrorDecoder(logger, clazz))
             .requestInterceptor(new TenantedTargetInterceptor())
             .requestInterceptor(new TokenedTargetInterceptor())
+            .requestInterceptor(new EmptyBodyInterceptor())
             .requestInterceptor(client.getCookieInterceptor())
             .decoder(new GsonDecoder())
             .encoder(new GsonEncoder())
diff --git a/src/main/java/io/mifos/core/api/util/EmptyBodyInterceptor.java b/src/main/java/io/mifos/core/api/util/EmptyBodyInterceptor.java
new file mode 100644
index 0000000..dbfd105
--- /dev/null
+++ b/src/main/java/io/mifos/core/api/util/EmptyBodyInterceptor.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2017 The Mifos Initiative.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.mifos.core.api.util;
+
+import feign.RequestInterceptor;
+import feign.RequestTemplate;
+import org.springframework.web.bind.annotation.RequestMethod;
+
+import java.nio.charset.Charset;
+
+/**
+ * Sets the content length of a request to zero if the request is of type POST or PUT, and contains
+ * no request body.
+ */
+public class EmptyBodyInterceptor implements RequestInterceptor {
+
+  EmptyBodyInterceptor() {
+    super();
+  }
+
+  @Override
+  public void apply(final RequestTemplate template) {
+    if ((template.method().equalsIgnoreCase(RequestMethod.POST.name())
+        || template.method().equalsIgnoreCase(RequestMethod.PUT.name()))
+        && template.body() == null) {
+      template.body(new byte[0], Charset.defaultCharset());
+    }
+  }
+}
