Index: epan/dissectors/packet-ber.c
===================================================================
--- epan/dissectors/packet-ber.c	(revision 23387)
+++ epan/dissectors/packet-ber.c	(working copy)
@@ -3861,8 +3861,12 @@
 
 static int
 dissect_ber_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
+	if (actx->external.direct_reference) {
+		offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, tree);
+	} else {
+		offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
                                        &actx->external.octet_aligned);
+	}
 
   return offset;
 }
