diff --git a/ci-tools/update-grid-servers b/ci-tools/update-grid-servers
index acbacea63210d1d346c0ee8f71c3e1da34370d84..c5206fd481096cc8eddb2a2c313cff7d92fe2db6 100755
--- a/ci-tools/update-grid-servers
+++ b/ci-tools/update-grid-servers
@@ -101,6 +101,11 @@ decode_deploy_key() {
     # Decode the contents of the encoded key path into a decoded key path.
     base64 --decode "${encoded_key_path}" > "${decoded_key_path}"
 
+    # If OpenSSH doesn't find a newline after the last line of the key
+    # material then it fails to parse it.  So, make sure there is one.  If
+    # there was already one, it's fine to have an extra.
+    echo >> "${decoded_key_path}"
+
     # Remove the key from the filesystem to reduce the chance of unintentional
     # disclosure.  Overall our handling of this key is still not *particulary*
     # safe or secure but that's why the key is only authorized to perform a