diff --git a/agent/src/client.c b/agent/src/client.c
index 2100442c67b0a69462a688b0abd820e63cc863c6..0d8c13b5ebae687cb82dec9c64021fbf0fde7bf9 100644
--- a/agent/src/client.c
+++ b/agent/src/client.c
@@ -225,9 +225,12 @@ int main(int argc, char **argv)
  */
 void print_update_link(struct soap *soap, char *url)
 {
+    struct _ns1__getUpdateLink data;
     struct _ns1__getUpdateLinkResponse response;
     int error;
-    error = soap_call___ns2__getUpdateLink(soap, url, NULL, NULL, &response);
+    int os = OS;
+    data.args0 = &os;
+    error = soap_call___ns2__getUpdateLink(soap, url, NULL, &data, &response);
     char *updateLink = response.return_;
 
     if (error != SOAP_OK)
@@ -265,9 +268,12 @@ void print_update_link(struct soap *soap, char *url)
  */
 void update(struct soap *soap, char *url, char *version)
 {
+    struct _ns1__getAgentVersion data;
     struct _ns1__getAgentVersionResponse response;
     int error;
-    error = soap_call___ns2__getAgentVersion(soap, url, NULL, NULL, &response);
+    int os = OS;
+    data.args0 = &os;
+    error = soap_call___ns2__getAgentVersion(soap, url, NULL, &data, &response);
     char *received_version = response.return_;
 
     if (error != SOAP_OK)