Index: asn1/tcap/packet-tcap-template.c
===================================================================
--- asn1/tcap/packet-tcap-template.c	(revision 19389)
+++ asn1/tcap/packet-tcap-template.c	(working copy)
@@ -158,6 +158,7 @@
     proto_item	*stat_item=NULL;
     proto_tree  *stat_tree=NULL;
     struct tcaphash_context_t * p_tcap_context;
+    dissector_handle_t subdissector_handle;
 
     tcap_top_tree = parent_tree;
     if (check_col(pinfo->cinfo, COL_PROTOCOL))
@@ -190,6 +191,21 @@
       }
       p_tcap_context=tcapsrt_call_matching(tvb, pinfo, stat_tree, gp_tcapsrt_info);
       tcap_private.context=p_tcap_context;
+
+      /* If the current message is TCAP only, 
+	 save the Application contexte name for the next messages */
+      if ( p_tcap_context &&
+	   cur_oid &&
+	   !p_tcap_context->oid_present ) {
+	/* Save the application context and the sub dissector */
+	ber_oid_dissector_table = find_dissector_table("ber.oid");
+	strncpy(p_tcap_context->oid,cur_oid, LENGTH_OID);
+	if ( (subdissector_handle 
+	      = dissector_get_string_handle(ber_oid_dissector_table, cur_oid)) ) {
+	  p_tcap_context->subdissector_handle=subdissector_handle;
+	  p_tcap_context->oid_present=TRUE;
+	}
+      } 
       
       if (gtcap_HandleSRT &&
 	  p_tcap_context &&
