diff --git a/src/textprop.c b/src/textprop.c
index 3e0207d..05df2e1 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -301,7 +301,7 @@
     }
     if (proplen > 0)
 	*props = text + textlen;
-    return proplen / sizeof(textprop_T);
+    return (int)(proplen / sizeof(textprop_T));
 }
 
     static proptype_T *
@@ -393,7 +393,7 @@
 		buf->b_ml.ml_line_ptr = newtext;
 		buf->b_ml.ml_flags |= ML_LINE_DIRTY;
 	    }
-	    buf->b_ml.ml_line_len = len;
+	    buf->b_ml.ml_line_len = (int)len;
 	}
     }
     redraw_buf_later(buf, NOT_VALID);
@@ -423,8 +423,8 @@
     {
 	char_u	    *text = ml_get_buf(buf, lnum, FALSE);
 	size_t	    textlen = STRLEN(text) + 1;
-	int	    count = (buf->b_ml.ml_line_len - textlen)
-							  / sizeof(textprop_T);
+	int	    count = (int)((buf->b_ml.ml_line_len - textlen)
+							 / sizeof(textprop_T));
 	int	    i;
 	textprop_T  prop;
 	proptype_T  *pt;
@@ -607,7 +607,7 @@
 	    EMSG2(_("E969: Property type %s already defined"), name);
 	    return;
 	}
-	prop = (proptype_T *)alloc_clear(sizeof(proptype_T) + STRLEN(name));
+	prop = (proptype_T *)alloc_clear((int)(sizeof(proptype_T) + STRLEN(name)));
 	if (prop == NULL)
 	    return;
 	STRCPY(prop->pt_name, name);
