diff --git a/skygear/src/main/java/io/skygear/skygear/Container.java b/skygear/src/main/java/io/skygear/skygear/Container.java
index bde4711..4e82182 100644
--- a/skygear/src/main/java/io/skygear/skygear/Container.java
+++ b/skygear/src/main/java/io/skygear/skygear/Container.java
@@ -203,7 +203,9 @@ public void sendRequest(Request request) {
      * @param handler the response handler
      */
     public void callLambdaFunction(String name, LambdaResponseHandler handler) {
-        this.callLambdaFunction(name, (Object[]) null, handler);
+        LambdaRequest request = new LambdaRequest(name, (Object)null);
+        request.responseHandler = handler;
+        this.requestManager.sendRequest(request);
     }
 
     /**
@@ -214,6 +216,10 @@ public void callLambdaFunction(String name, LambdaResponseHandler handler) {
      * @param handler the response handler
      */
     public void callLambdaFunction(final String name, Object[] args, LambdaResponseHandler handler) {
+        if (args == null) {
+            this.callLambdaFunction(name, handler);
+            return;
+        }
         final String lambdaName = name;
         final Object[] lambdaArgs = args;
         final LambdaResponseHandler responseHandler = handler;
@@ -228,7 +234,7 @@ public void onSuccess(List result) {
 
             @Override
             public void onFailure(Error error) {
-
+                responseHandler.onFail(error);
             }
         });
     }
@@ -241,6 +247,10 @@ public void onFailure(Error error) {
      * @param handler the response handler
      */
     public void callLambdaFunction(String name, Map<String, Object> args, LambdaResponseHandler handler) {
+        if (args == null) {
+            this.callLambdaFunction(name, handler);
+            return;
+        }
         final String lambdaName = name;
         final Map<String, Object> lambdaArgs = args;
         final LambdaResponseHandler responseHandler = handler;
@@ -255,7 +265,7 @@ public void onSuccess(Map result) {
 
             @Override
             public void onFailure(Error error) {
-
+                responseHandler.onFail(error);
             }
         });
     }