diff --git a/include/asterisk/time.h b/include/asterisk/time.h
index 4b7ca00ff94832ad4f7013cde2f2deddc29766d4..fa8006e2a2135e05ad9a52de02b072573b08afb5 100644
--- a/include/asterisk/time.h
+++ b/include/asterisk/time.h
@@ -171,7 +171,7 @@ struct timeval ast_tv(ast_time_t sec, ast_suseconds_t usec),
 AST_INLINE_API(
 struct timeval ast_samp2tv(unsigned int _nsamp, unsigned int _rate),
 {
-	return ast_tv(_nsamp / _rate, (_nsamp % _rate) * (1000000 / _rate));
+	return ast_tv(_nsamp / _rate, (_nsamp % _rate) * (1000000 / (float) _rate));
 }
 )