diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c
index 5918f3d..3d67d54 100644
--- a/src/nm-ip4-config.c
+++ b/src/nm-ip4-config.c
@@ -267,6 +267,7 @@ gboolean
 nm_ip4_config_commit (const NMIP4Config *config, int ifindex, gboolean routes_full_sync, gint64 default_route_metric)
 {
 	NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE (config);
+	guint32 mtu = nm_ip4_config_get_mtu (config);
 	int i;
 	gs_unref_ptrarray GPtrArray *added_addresses = NULL;
 
@@ -339,6 +340,10 @@ nm_ip4_config_commit (const NMIP4Config *config, int ifindex, gboolean routes_fu
 			return FALSE;
 	}
 
+	/* MTU */
+	if (mtu && mtu != nm_platform_link_get_mtu (NM_PLATFORM_GET, ifindex))
+		nm_platform_link_set_mtu (NM_PLATFORM_GET, ifindex, mtu);
+
 	return TRUE;
 }
 
