diff --git a/properties/import-export.c b/properties/import-export.c
index b03c8f3..9edb67b 100644
--- a/properties/import-export.c
+++ b/properties/import-export.c
@@ -1138,6 +1138,8 @@ do_import (const char *path, const char *contents, gsize contents_len, GError **
 				setting_vpn_add_data_item_path (s_vpn, NM_OPENVPN_KEY_TA, file);
 				if (s_direction)
 					setting_vpn_add_data_item (s_vpn, NM_OPENVPN_KEY_TA_DIR, s_direction);
+			} else if (NM_IN_STRSET (params[0], NVM_OVPN_TAG_TLS_CIPHER)) {
+				setting_vpn_add_data_item (s_vpn, NM_OPENVPN_KEY_TLS_CIPHER, "");
 			} else
 				g_assert_not_reached ();
 			continue;
@@ -1820,6 +1822,10 @@ do_export_create (NMConnection *connection, const char *path, GError **error)
 			                 nmv_utils_str_utf8safe_unescape_c (value, &s_free),
 			                 _arg_is_set (nm_setting_vpn_get_data_item (s_vpn, NM_OPENVPN_KEY_TA_DIR)));
 		}
+
+		value = nm_setting_vpn_get_data_item (s_vpn, NM_OPENVPN_KEY_TLS_CIPHER);
+		if (_arg_is_set (value))
+			args_write_line_setting_value (f, NVM_OVPN_TAG_TLS_CIPHER, s_vpn, VM_OPENVPN_KEY_TLS_CIPHER);
 	}
 
 	proxy_type = nm_setting_vpn_get_data_item (s_vpn, NM_OPENVPN_KEY_PROXY_TYPE);
diff --git a/shared/nm-openvpn-service-defines.h b/shared/nm-openvpn-service-defines.h
index 825e3c7..9767d4f 100644
--- a/shared/nm-openvpn-service-defines.h
+++ b/shared/nm-openvpn-service-defines.h
@@ -59,6 +59,7 @@
 #define NM_OPENVPN_KEY_STATIC_KEY_DIRECTION "static-key-direction"
 #define NM_OPENVPN_KEY_TA "ta"
 #define NM_OPENVPN_KEY_TA_DIR "ta-dir"
+#define NM_OPENVPN_KEY_TLS_CIPHER "tls-cipher"
 #define NM_OPENVPN_KEY_TUNNEL_MTU "tunnel-mtu"
 #define NM_OPENVPN_KEY_USERNAME "username"
 #define NM_OPENVPN_KEY_TAP_DEV "tap-dev"
diff --git a/shared/utils.h b/shared/utils.h
index 3d86762..6829979 100644
--- a/shared/utils.h
+++ b/shared/utils.h
@@ -68,6 +68,7 @@
 #define NMV_OVPN_TAG_TLS_AUTH           "tls-auth"
 #define NMV_OVPN_TAG_TLS_CLIENT         "tls-client"
 #define NMV_OVPN_TAG_TLS_REMOTE         "tls-remote"
+#define NMV_OVPN_TAG_TLS_CIPHER         "tls-cipher"
 #define NMV_OVPN_TAG_TOPOLOGY           "topology"
 #define NMV_OVPN_TAG_TUN_MTU            "tun-mtu"
 #define NMV_OVPN_TAG_TUN_IPV6           "tun-ipv6"
diff --git a/src/nm-openvpn-service.c b/src/nm-openvpn-service.c
index fb62a56..c192bf6 100644
--- a/src/nm-openvpn-service.c
+++ b/src/nm-openvpn-service.c
@@ -135,6 +135,7 @@ static ValidProperty valid_properties[] = {
 	{ NM_OPENVPN_KEY_STATIC_KEY_DIRECTION, G_TYPE_INT, 0, 1, FALSE },
 	{ NM_OPENVPN_KEY_TA,                   G_TYPE_STRING, 0, 0, FALSE },
 	{ NM_OPENVPN_KEY_TA_DIR,               G_TYPE_INT, 0, 1, FALSE },
+	{ NM_OPENVPN_KEY_TLS_CIPHER,           G_TYPE_STRING, 0, 0, FALSE},
 	{ NM_OPENVPN_KEY_TAP_DEV,              G_TYPE_BOOLEAN, 0, 0, FALSE },
 	{ NM_OPENVPN_KEY_DEV,                  G_TYPE_STRING, 0, 0, FALSE },
 	{ NM_OPENVPN_KEY_DEV_TYPE,             G_TYPE_STRING, 0, 0, FALSE },
@@ -1371,6 +1372,13 @@ nm_openvpn_start_openvpn_binary (NMOpenvpnPlugin *plugin,
 			add_openvpn_arg (args, tmp);
 	}
 
+	/* TLS Ciphers */
+	tmp = nm_setting_vpn_get_data_item (s_vpn, NM_OPENVPN_KEY_TLS_CIPHER);
+	if (tmp && strlen(tmp)) {
+		add_openvpn_arg (args, "--tls-cipher");
+		add_openvpn_arg (args, tmp);
+	}
+
 	/* tls-remote */
 	tmp = nm_setting_vpn_get_data_item (s_vpn, NM_OPENVPN_KEY_TLS_REMOTE);
 	if (tmp && strlen (tmp)) {
