diff --git a/tsk/vs/sun.c b/tsk/vs/sun.c
index d4538479178aae8e1120875181a92a5e0e8c66a6..48079346097e4c0597aac06c457c721cb70bbff1 100644
--- a/tsk/vs/sun.c
+++ b/tsk/vs/sun.c
@@ -150,7 +150,7 @@ sun_load_table_sparc(TSK_VS_INFO * vs, sun_dlabel_sparc * dlabel_sp)
     TSK_DADDR_T max_addr = (vs->img_info->size - vs->offset) / vs->block_size;  // max sector
 
     /* The value to convert cylinders to sectors */
-    cyl_conv = tsk_getu16(vs->endian, dlabel_sp->sec_per_tr) *
+    cyl_conv = (uint32_t) tsk_getu16(vs->endian, dlabel_sp->sec_per_tr) *
         tsk_getu16(vs->endian, dlabel_sp->num_head);
 
     if (tsk_verbose)