diff --git a/src/libguac/guacamole/user.h b/src/libguac/guacamole/user.h
index 75accdb..adc4c4e 100644
--- a/src/libguac/guacamole/user.h
+++ b/src/libguac/guacamole/user.h
@@ -94,7 +94,7 @@
      * a specific timezone then this will be NULL.  The format of the timezone
      * is the standard tzdata naming convention.
      */
-    const char** timezone;
+    const char* timezone;
 
 };
 
diff --git a/src/libguac/user-handshake.c b/src/libguac/user-handshake.c
index 8735405..b0a9b2f 100644
--- a/src/libguac/user-handshake.c
+++ b/src/libguac/user-handshake.c
@@ -406,9 +406,10 @@
         return 1;
     }
     
-    /* Store timezone */
-    char** timezone = parser->argv[0];
-    user->info.timezone = (const char**) timezone;
+    /* Store timezone, if present */
+    char* timezone = parser->argv[0];
+    if (timezone != NULL && !strcmp(timezone, ""))
+        user->info.timezone = (const char*) timezone;
 
     /* Get args from connect instruction */
     if (guac_parser_expect(parser, socket, usec_timeout, "connect")) {
@@ -452,6 +453,10 @@
     guac_free_mimetypes(audio_mimetypes);
     guac_free_mimetypes(video_mimetypes);
     guac_free_mimetypes(image_mimetypes);
+    
+    /* Free timezone */
+    if (timezone != NULL)
+        free(timezone);
 
     guac_parser_free(parser);
 
diff --git a/src/protocols/rdp/rdp_settings.c b/src/protocols/rdp/rdp_settings.c
index d322a48..e5aa85d 100644
--- a/src/protocols/rdp/rdp_settings.c
+++ b/src/protocols/rdp/rdp_settings.c
@@ -851,10 +851,10 @@
     if (settings->server_layout == NULL)
         settings->server_layout = guac_rdp_keymap_find(GUAC_DEFAULT_KEYMAP);
 
-    /* Timezone if provied by client */
+    /* Timezone if provided by client, or use handshake version */
     settings->timezone =
         guac_user_parse_args_string(user, GUAC_RDP_CLIENT_ARGS, argv,
-                IDX_TIMEZONE, NULL);
+                IDX_TIMEZONE, user->info.timezone);
 
 #ifdef ENABLE_COMMON_SSH
     /* SFTP enable/disable */
diff --git a/src/protocols/ssh/settings.c b/src/protocols/ssh/settings.c
index 962524c..74706e0 100644
--- a/src/protocols/ssh/settings.c
+++ b/src/protocols/ssh/settings.c
@@ -425,6 +425,10 @@
     settings->timezone =
         guac_user_parse_args_string(user, GUAC_SSH_CLIENT_ARGS, argv,
                 IDX_TIMEZONE, NULL);
+    
+    /* If timezone not explicitly set, try to pull from tunnel */
+    if (settings->timezone == NULL)
+        settings->timezone = user->info.timezone;
 
     /* Parsing was successful */
     return settings;
