diff --git a/functions/checks.sh b/functions/checks.sh
index 415e538f..425fe69e 100644
--- a/functions/checks.sh
+++ b/functions/checks.sh
@@ -59,7 +59,7 @@ check_for_version_update() {
 
     if [[ ! "$update_ignore" == "$online_version" ]]; then
       if [[ "$update_repo" == "RetroDECK" ]] && [[ $(sed -e 's/[\.a-z]//g' <<< $version) -le $(sed -e 's/[\.a-z]//g' <<< $online_version) ]]; then
-        choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="OK" --extra-button="Ignore this version" \
+        choice=$(rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="OK" --extra-button="Ignore this version" \
         --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
         --title "RetroDECK - New Update Available" \
         --text="There is a new version of RetroDECK available: <span foreground='$blue'><b>$online_version</b></span>.\nYou can easily update from the app store you have installed, examples: KDE Discover or Gnome Software.\n\nIf you would like to ignore this notification, click the \"Ignore this version\" button.")
diff --git a/functions/other_functions.sh b/functions/other_functions.sh
index 372fa807..63804b32 100644
--- a/functions/other_functions.sh
+++ b/functions/other_functions.sh
@@ -299,7 +299,9 @@ dir_prep() {
 
 rd_zenity() {
   # This function replaces the standard 'zenity' command and filters out annoying GTK errors on Steam Deck
+  export GUI="zenity"
   zenity 2> >(grep -v 'Gtk' >&2) "$@"
+  unset GUI
 }
 
 update_rpcs3_firmware() {
@@ -642,7 +644,7 @@ install_release() {
   log d "Constructed flatpak URL: $flatpak_url"
 
   # Confirm installation with the user
-  zenity --question --icon-name=net.retrodeck.retrodeck --no-wrap \
+  rd_zenity --question --icon-name=net.retrodeck.retrodeck --no-wrap \
           --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
           --title "RetroDECK Updater" \
           --text="$1 will be now installed.\nThe update process may take several minutes.\n\nAfter the update is complete, RetroDECK will close. When you run it again, you will be using the latest version.\n\nDo you want to continue?"
@@ -673,7 +675,7 @@ install_release() {
     # Cleanup old bundles to save space
     rm -rf "$rdhome/RetroDECK_Updates"
   ) |
-  zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \
+  rd_zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \
   --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
   --title "RetroDECK Updater" \
   --text="RetroDECK is updating to the selected version, please wait."
@@ -791,7 +793,7 @@ release_selector() {
         while true; do
             echo "# Fetching all available releases from GitHub repositories... Please wait. This may take some time." ; sleep 1
         done
-    ) | zenity --progress --title="Fetching Releases" --text="Fetching releases..." --pulsate --no-cancel --auto-close --width=500 --height=150 &
+    ) | rd_zenity --progress --title="Fetching Releases" --text="Fetching releases..." --pulsate --no-cancel --auto-close --width=500 --height=150 &
     
     progress_pid=$!  # save process PID to kill it later
 
@@ -931,7 +933,7 @@ quit_retrodeck() {
   source /app/libexec/steam_sync.sh
   add_to_steam "$(ls "$rdhome/ES-DE/gamelists/")"
   ) |
-  zenity --progress \
+  rd_zenity --progress \
     --title="Syncing with Steam" \
     --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
     --text="<span foreground='$purple'><b>\t\t\t\tSyncing favorite games with Steam.</b></span>\n\n<b>NOTE: </b>This operation may take some time depending on the size of your library.\nFeel free to leave this in the background and switch to another application.\n\n" \
diff --git a/functions/post_update.sh b/functions/post_update.sh
index aedc94c0..5f0fc28a 100644
--- a/functions/post_update.sh
+++ b/functions/post_update.sh
@@ -428,7 +428,7 @@ post_update() {
 
     # Create a Zenity window with checkboxes for each reset option and two buttons
     while true; do
-      choices=$(zenity --list --checklist --title="RetroDECK Reset Options" \
+      choices=$(rd_zenity --list --checklist --title="RetroDECK Reset Options" \
       --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
       --text="The following components have been updated and need to be reset or fixed to ensure compatibility with the new version: select the components you want to reset.\n\nNot resetting them may cause serious issues with your installation.\nYou can also reset them manually later via Configurator -> Troubleshooting -> Reset Component.\n\nNote: Your games, saves, game collections and scraped data will not be affected." \
       --column="Select" --column="Component" --column="Description" --width="1100" --height="700" \
@@ -456,7 +456,7 @@ post_update() {
       fi
 
       if [[ $? -eq 0 && -n "$choices" ]]; then
-        if ! zenity --question --title="Confirmation" --text="Are you sure you want to proceed with only the selected options?\n\nThis might cause issues in RetroDECK"; then
+        if ! rd_zenity --question --title="Confirmation" --text="Are you sure you want to proceed with only the selected options?\n\nThis might cause issues in RetroDECK"; then
           log i "User is not sure, showing the checklist window again."
           continue
         else
@@ -466,7 +466,7 @@ post_update() {
       fi
 
       if [[ $? == 0 ]]; then
-      if ! zenity --question --title="Confirmation" --text="Are you sure you want to skip the reset process?\n\nThis might cause issues in RetroDECK"; then
+      if ! rd_zenity --question --title="Confirmation" --text="Are you sure you want to skip the reset process?\n\nThis might cause issues in RetroDECK"; then
         log i "User is not sure, showing the checklist window again."
         continue
       else
@@ -563,7 +563,7 @@ post_update() {
 
     # Create a Zenity window with checkboxes for each reset option and two buttons
     while true; do
-      choices=$(zenity --list --checklist --title="RetroDECK Reset Options" \
+      choices=$(rd_zenity --list --checklist --title="RetroDECK Reset Options" \
       --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
       --text="The following components have been updated and need to be reset or fixed to ensure compatibility with the new version: select the components you want to reset.\n\nNot resetting them may cause serious issues with your installation.\nYou can also reset them manually later via Configurator -> Troubleshooting -> Reset Component.\n\nNote: Your games, saves, game collections and scraped data will not be affected." \
       --column="Select" --column="Component" --column="Description" --width="1100" --height="700" \
@@ -588,7 +588,7 @@ post_update() {
       fi
 
       if [[ $? -eq 0 && -n "$choices" ]]; then
-        if ! zenity --question --title="Confirmation" --text="Are you sure you want to proceed with only the selected options?\n\nThis might cause issues in RetroDECK"; then
+        if ! rd_zenity --question --title="Confirmation" --text="Are you sure you want to proceed with only the selected options?\n\nThis might cause issues in RetroDECK"; then
           log i "User is not sure, showing the checklist window again."
           continue
         else
@@ -598,7 +598,7 @@ post_update() {
       fi
 
       if [[ $? == 0 ]]; then
-      if ! zenity --question --title="Confirmation" --text="Are you sure you want to skip the reset process?\n\nThis might cause issues in RetroDECK"; then
+      if ! rd_zenity --question --title="Confirmation" --text="Are you sure you want to skip the reset process?\n\nThis might cause issues in RetroDECK"; then
         log i "User is not sure, showing the checklist window again."
         continue
       else
diff --git a/functions/run_game.sh b/functions/run_game.sh
index e2aa49a2..ea792da9 100755
--- a/functions/run_game.sh
+++ b/functions/run_game.sh
@@ -178,7 +178,7 @@ find_system_commands() {
         selected_command="${command_list[1]}"
     else
         # Show the list with Zenity and return the **command** (second column) selected
-        selected_command=$(zenity --list \
+        selected_command=$(rd_zenity --list \
             --title="Select an emulator for $system_name" \
             --column="Emulator" --column="Hidden Command" "${command_list[@]}" \
             --width=800 --height=400 --print-column=2 --hide-column=2)
diff --git a/tools/configurator.sh b/tools/configurator.sh
index b6ee9800..abdb6638 100755
--- a/tools/configurator.sh
+++ b/tools/configurator.sh
@@ -96,6 +96,7 @@ source /app/libexec/global.sh
 
 configurator_welcome_dialog() {
   log i "Configurator: opening welcome dialog"
+  export GUI="zenity"
   welcome_menu_options=(
     "Settings" "Customize your RetroDECK experience with various presets and tweaks."
     "Open Component" "Manually launch and configure settings for each emulator or component (for advanced users)."
@@ -159,6 +160,7 @@ configurator_welcome_dialog() {
 
   "" )
     log i "Configurator: closing"
+    unset GUI
     exit 0
   ;;