diff --git a/epan/dissectors/packet-hip.c b/epan/dissectors/packet-hip.c
index 7aa6489..463d6b2 100644
--- a/epan/dissectors/packet-hip.c
+++ b/epan/dissectors/packet-hip.c
@@ -653,7 +653,7 @@ dissect_hip_tlv(tvbuff_t *tvb, int offset, proto_item *ti, int type, int tlv_len
newoffset += (1 + tvb_get_guint8(tvb, newoffset + 2));
tlv_len -= (1 + tvb_get_guint8(tvb, newoffset + 2));
}
- if (ti_loc) {
+ if (locator_type <= 2) {
ti_loc = proto_item_add_subtree(ti_loc, ett_hip_locator_data);
/* Traffic type */
proto_tree_add_item(ti_loc, hf_hip_tlv_locator_traffic_type, tvb,