diff --git a/src/gsm/tlv_parser.c b/src/gsm/tlv_parser.c
index e47b94f..8dd460d 100644
--- a/src/gsm/tlv_parser.c
+++ b/src/gsm/tlv_parser.c
@@ -225,7 +225,11 @@
  *  \param[in] def structure defining the valid TLV tags / configurations
  *  \param[in] buf the input data buffer to be parsed
  *  \param[in] buf_len length of the input data buffer
- *  \returns number of bytes consumed by the TLV entry / IE parsed; negative in case of error
+ *  \returns number of bytes consumed by the TLV entry / IE parsed; negative in case of error.
+ *
+ * In IEs of type TLV_TYPE_SINGLE_TV, the data pointer \ref o_val will point to the
+ * byte shared by both the Tag and te Value, hence the tag is to be trimmed
+ * by the caller.
  */
 int tlv_parse_one(uint8_t *o_tag, uint16_t *o_len, const uint8_t **o_val,
 		  const struct tlv_definition *def,
@@ -241,9 +245,13 @@
 	*o_tag = tag;
 
 	/* single octet TV IE */
-	if (def->def[tag >> 4].type == TLV_TYPE_SINGLE_TV
+	if (def->def[tag >> 4].type == TLV_TYPE_SINGLE_TV) {
+		*o_tag = tag >> 4;
+		*o_val = buf;
+		*o_len = 1;
+		return 1;
+	} else if ((tag > 0x0f) && (def->def[tag & 0xf0].type == TLV_TYPE_SINGLE_TV)) {
 	    /* backward compat for old IEs with half-octet tag defined as 0xN0: */
-	    || ((tag > 0x0f) && (def->def[tag & 0xf0].type == TLV_TYPE_SINGLE_TV))) {
 		*o_tag = tag & 0xf0;
 		*o_val = buf;
 		*o_len = 1;
diff --git a/tests/tlv/tlv_test.c b/tests/tlv/tlv_test.c
index aaa86a3..8e8bd60 100644
--- a/tests/tlv/tlv_test.c
+++ b/tests/tlv/tlv_test.c
@@ -470,14 +470,12 @@
 
 	rc = tlv_parse(&tp, &att_tlvdef, buf, sizeof(buf), 0, 0);
 	OSMO_ASSERT(rc == 1);
-	OSMO_ASSERT(!TLVP_PRESENT(&tp, SAMPLE_SINGLE_TV_IE)); //FIXME!
+	OSMO_ASSERT(TLVP_PRESENT(&tp, SAMPLE_SINGLE_TV_IE));
 	val = TLVP_VAL(&tp, SAMPLE_SINGLE_TV_IE);
-	OSMO_ASSERT(!val); //FIXME!
-#if 0
+	OSMO_ASSERT(val);
 	OSMO_ASSERT(val == &buf[0]);
 	OSMO_ASSERT(*val == buf[0]);
 	OSMO_ASSERT((*val & 0x0f) == exp_val);
-#endif
 }
 
 int main(int argc, char **argv)
