diff --git a/src/nm-openvpn-service.c b/src/nm-openvpn-service.c
index d7bd29f..9f7fbdb 100644
--- a/src/nm-openvpn-service.c
+++ b/src/nm-openvpn-service.c
@@ -1616,8 +1616,20 @@ nm_openvpn_start_openvpn_binary (NMOpenvpnPlugin *plugin,
 
 	/* Now append configuration options which are dependent on the configuration type */
 	if (!strcmp (connection_type, NM_OPENVPN_CONTYPE_TLS)) {
+		const char *ip1, *ip2;
+
 		add_openvpn_arg (args, "--client");
 		add_cert_args (args, s_vpn);
+
+		/* Server and client must have the same IP configuration */
+		ip1 = nm_setting_vpn_get_data_item (s_vpn, NM_OPENVPN_KEY_LOCAL_IP);
+		ip2 = nm_setting_vpn_get_data_item (s_vpn, NM_OPENVPN_KEY_REMOTE_IP);
+		if (ip1 && ip2) {
+			add_openvpn_arg (args, "--ifconfig");
+			add_openvpn_arg (args, ip1);
+			add_openvpn_arg (args, ip2);
+		}
+
 	} else if (!strcmp (connection_type, NM_OPENVPN_CONTYPE_STATIC_KEY)) {
 		tmp = nm_setting_vpn_get_data_item (s_vpn, NM_OPENVPN_KEY_STATIC_KEY);
 		if (tmp && strlen (tmp)) {
