diff --git a/res/parking/parking_applications.c b/res/parking/parking_applications.c
index 5077474304db2ad805f4858be4d86656c7ef1ec9..7ce8a3215ee3e077d9e87733328234bc9b0d6af1 100644
--- a/res/parking/parking_applications.c
+++ b/res/parking/parking_applications.c
@@ -349,8 +349,12 @@ static int setup_park_common_datastore(struct ast_channel *parkee, const char *p
 	attended_transfer = pbx_builtin_getvar_helper(parkee, "ATTENDEDTRANSFER");
 	blind_transfer = pbx_builtin_getvar_helper(parkee, "BLINDTRANSFER");
 
-	if (attended_transfer || blind_transfer) {
-		parker_dial_string = ast_strdupa(S_OR(attended_transfer, blind_transfer));
+	if (!ast_strlen_zero(attended_transfer)) {
+		parker_dial_string = ast_strdupa(attended_transfer);
+	} else if (!ast_strlen_zero(blind_transfer)) {
+		parker_dial_string = ast_strdupa(blind_transfer);
+		/* Ensure that attended_transfer is NULL and not an empty string. */
+		attended_transfer = NULL;
 	}
 
 	ast_channel_unlock(parkee);