diff --git a/samples/rm_amqp/rm_echo_dual_1_1/echo_util.c b/samples/rm_amqp/rm_echo_dual_1_1/echo_util.c
index 768ab4f..28eb6f9 100644
--- a/samples/rm_amqp/rm_echo_dual_1_1/echo_util.c
+++ b/samples/rm_amqp/rm_echo_dual_1_1/echo_util.c
@@ -20,15 +20,12 @@
 axiom_node_t *
 build_om_payload_for_echo_svc(
    const axutil_env_t *env,
-   axis2_char_t *text,
-   axis2_char_t *seq)
+   axis2_char_t *text)
 {
     axiom_node_t *echo_om_node = NULL;
     axiom_element_t* echo_om_ele = NULL;
     axiom_node_t* text_om_node = NULL;
     axiom_element_t * text_om_ele = NULL;
-    axiom_node_t* seq_om_node = NULL;
-    axiom_element_t * seq_om_ele = NULL;
     axiom_namespace_t *ns1 = NULL;
     axis2_char_t *om_str = NULL;
     axis2_char_t *ns = NULL;
@@ -38,9 +35,7 @@
     ns1 = axiom_namespace_create (env, ns, "ns1");
     echo_om_ele = axiom_element_create(env, NULL, "echoString", ns1, &echo_om_node);
     text_om_ele = axiom_element_create(env, echo_om_node, "Text", ns1, &text_om_node);
-    seq_om_ele = axiom_element_create(env, echo_om_node, "Sequence", ns1, &seq_om_node);
     axiom_element_set_text(text_om_ele, env, text, text_om_node);
-    axiom_element_set_text(text_om_ele, env, seq, seq_om_node);
     
     om_str = axiom_node_to_string(echo_om_node, env);
     if (om_str)
diff --git a/samples/rm_amqp/rm_echo_dual_1_1/echo_util.h b/samples/rm_amqp/rm_echo_dual_1_1/echo_util.h
index 78ceaaa..773ef8f 100644
--- a/samples/rm_amqp/rm_echo_dual_1_1/echo_util.h
+++ b/samples/rm_amqp/rm_echo_dual_1_1/echo_util.h
@@ -23,7 +23,6 @@
 axiom_node_t *
 build_om_payload_for_echo_svc(
    const axutil_env_t *env,
-   axis2_char_t *text,
-   axis2_char_t *seq);
+   axis2_char_t *text);
 
 #endif
diff --git a/samples/rm_amqp/rm_echo_dual_1_1/rm_echo_1_1.c b/samples/rm_amqp/rm_echo_dual_1_1/rm_echo_1_1.c
index 0cf51c5..e8c2c41 100644
--- a/samples/rm_amqp/rm_echo_dual_1_1/rm_echo_1_1.c
+++ b/samples/rm_amqp/rm_echo_dual_1_1/rm_echo_1_1.c
@@ -67,9 +67,6 @@
     axutil_property_t *property = NULL;
     axis2_char_t *offered_seq_id = NULL;
     axis2_bool_t offer = AXIS2_TRUE;
-    axis2_char_t *seq_key = NULL;
-    extern char *optarg;
-    extern int optopt;
     neethi_policy_t *policy = NULL;
     axis2_status_t status = AXIS2_FAILURE;
    
@@ -175,21 +172,15 @@
     {
         axis2_options_set_property(options, env, SANDESHA2_CLIENT_RM_SPEC_VERSION, property);
     }
-    seq_key = axutil_uuid_gen(env);
-    property = axutil_property_create_with_args(env, 3, 0, 0, seq_key);
-    if(property)
-    {
-        axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, property);
-    }
     
-    payload = build_om_payload_for_echo_svc(env, "echo1", seq_key);
+    payload = build_om_payload_for_echo_svc(env, "echo1");
     callback = axis2_callback_create(env);
     axis2_callback_set_on_complete(callback, rm_echo_callback_on_complete);
     axis2_callback_set_on_error(callback, rm_echo_callback_on_error);
     axis2_svc_client_send_receive_non_blocking(svc_client, env, payload, callback);
     wait_on_callback(env, callback);
 
-    payload = build_om_payload_for_echo_svc(env, "echo2", seq_key);
+    payload = build_om_payload_for_echo_svc(env, "echo2");
     callback2 = axis2_callback_create(env);
     axis2_callback_set_on_complete(callback2, rm_echo_callback_on_complete);
     axis2_callback_set_on_error(callback2, rm_echo_callback_on_error);
@@ -204,7 +195,6 @@
 
     AXIS2_SLEEP(SANDESHA2_MAX_COUNT);
 
-    AXIS2_FREE(env->allocator, seq_key);
     if (svc_client)
     {
         axis2_svc_client_free(svc_client, env);
