diff -aur org/src/systemd/src/libsystemd-network/sd-dhcp-client.c new/src/systemd/src/libsystemd-network/sd-dhcp-client.c
--- NetworkManager.org/src/systemd/src/libsystemd-network/sd-dhcp-client.c	2016-06-11 15:20:48.573419098 +0200
+++ NetworkManager-1.2.2/src/systemd/src/libsystemd-network/sd-dhcp-client.c	2016-06-11 18:37:32.442691392 +0200
@@ -534,6 +535,10 @@
                         return r;
 
                 client->client_id_len = sizeof(client->client_id.type) + sizeof(client->client_id.ns.iaid) + duid_len;
+                if (client->client_id_len > 7) {
+                  /* Truncate at 7, because some routers can't handle longer ids */
+                  client->client_id_len = 7;
+                }
         }
 
         /* Some DHCP servers will refuse to issue an DHCP lease if the Client
