diff --git a/include/osmocom/core/tdef.h b/include/osmocom/core/tdef.h
index a1ad4cc..8155688 100644
--- a/include/osmocom/core/tdef.h
+++ b/include/osmocom/core/tdef.h
@@ -97,7 +97,7 @@
 unsigned long osmo_tdef_get(const struct osmo_tdef *tdefs, int T, enum osmo_tdef_unit as_unit,
 			    long val_if_not_present);
 struct osmo_tdef *osmo_tdef_get_entry(struct osmo_tdef *tdefs, int T);
-int osmo_tdef_set(struct osmo_tdef *tdefs, int T, unsigned long val, enum osmo_tdef_unit as_unit);
+int osmo_tdef_set(struct osmo_tdef *tdefs, int T, unsigned long val, enum osmo_tdef_unit val_unit);
 
 /*! Using osmo_tdef for osmo_fsm_inst: array entry for a mapping of state numbers to timeout definitions.
  * For a usage example, see osmo_tdef_get_state_timeout() and test_tdef_state_timeout() in tdef_test.c. */
diff --git a/src/tdef.c b/src/tdef.c
index dfb47f6..ab6a51b 100644
--- a/src/tdef.c
+++ b/src/tdef.c
@@ -212,6 +212,7 @@
 }
 
 /*! Set value in entry matching T, converting val from val_unit to unit of T.
+ * The converted value is rounded up to the next integer value of T's unit and clamped to ULONG_MAX, or 0 if val == 0.
  * \param[in] tdefs  Array of timer definitions, last entry being fully zero.
  * \param[in] T  Timer number to set the value for.
  * \param[in] val  The new timer value to set.
@@ -220,14 +221,11 @@
  */
 int osmo_tdef_set(struct osmo_tdef *tdefs, int T, unsigned long val, enum osmo_tdef_unit val_unit)
 {
-	struct osmo_tdef *t;
-	osmo_tdef_for_each(t, tdefs) {
-		if (t->T == T) {
-			t->val = osmo_tdef_round(val, val_unit, t->unit);
-			return 0;
-		}
-	}
-	return -EEXIST;
+	struct osmo_tdef *t = osmo_tdef_get_entry(tdefs, T);
+	if (!t)
+		return -EEXIST;
+	t->val = osmo_tdef_round(val, val_unit, t->unit);
+	return 0;
 }
 
 /*! Using osmo_tdef for osmo_fsm_inst: find a given state's osmo_tdef_state_timeout entry.
