diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper
index f48651c5..a49794c0 100755
--- a/data_from_portwine/scripts/functions_helper
+++ b/data_from_portwine/scripts/functions_helper
@@ -5433,15 +5433,18 @@ portwine_create_shortcut () {
         for df in "${DESKTOP_FILES_ARRAY[@]}" ; do
             df="${df//"$PORT_WINE_PATH/"/}"
             df="${df//.desktop/}"
-            if [[ ${PORTWINE_DB^^} =~ ${df^^} ]]
+            if [[ ${PORTWINE_DB^^} =~ ${df^^} ]] && [[ ${PORTWINE_DB^^} != ${df^^} ]]
             then name_desktop="$df"
             fi
         done
     fi
     if [[ -z $name_desktop ]] ; then
-        if [[ -n $PORTPROTON_NAME ]]
-        then name_desktop="$PORTPROTON_NAME"
-        else name_desktop="$PORTWINE_DB"
+        if [[ ${PORTPROTON_NAME^^} =~ ${PORTWINE_DB^^} ]] \
+        && [[ ${PORTPROTON_NAME^^} != "${PORTWINE_DB^^}" ]]
+        then
+            name_desktop="$PORTPROTON_NAME"
+        else
+            name_desktop="$PORTWINE_DB_NEW"
         fi
     fi
     export name_desktop
@@ -5492,7 +5495,7 @@ portwine_create_shortcut () {
 
         edit_user_conf_from_gui PW_SHORTCUT_MENU PW_SHORTCUT_DESKTOP PW_SHORTCUT_STEAM
 
-        if [[ -n ${DESKTOP_FILES_ARRAY[1]} ]] ; then
+        if [[ -n ${DESKTOP_FILES_ARRAY[0]} ]] && [[ $name_desktop != $df ]] || [[ -n ${DESKTOP_FILES_ARRAY[1]} ]] ; then
             if yad_question "${translations[A higher number of duplicate desktop files were found for this file.\\nShould I delete the extra ones or not?]}" ; then
                 for rm in "${DESKTOP_FILES_ARRAY[@]}" ; do
                     rm -f "$rm"
diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh
index 380f03f6..5475fbc5 100755
--- a/data_from_portwine/scripts/start.sh
+++ b/data_from_portwine/scripts/start.sh
@@ -502,10 +502,40 @@ if [[ -f "${portwine_exe}" ]] ; then
 
         [[ $DESKTOP_WITH_TIME == enabled ]] && search_desktop_file
         if [[ -z "${PW_COMMENT_DB}" ]] ; then
-            if [[ -n "${PORTPROTON_NAME}" ]] ; then
+            if [[ ${PORTPROTON_NAME^^} =~ ${PORTWINE_DB^^} ]] && [[ ${PORTPROTON_NAME^^} != "${PORTWINE_DB^^}" ]] ; then
                 PW_COMMENT_DB="${translations[Launching]} <b>$(print_wrapped "${PORTPROTON_NAME}" "50")</b>$(seconds_to_time "$TIME_CURRENT")"
             else
-                PW_COMMENT_DB="${translations[Launching]} <b>$(print_wrapped "${PORTWINE_DB}" "50")</b>$(seconds_to_time "$TIME_CURRENT")"
+                unset PORTWINE_DB_PROXY PORTWINE_DB_NEW
+                PORTWINE_DB="${PORTWINE_DB//_/ }"
+                if [[ ${PORTWINE_DB:0:1} =~ [a-z] ]] ; then
+                    PORTWINE_DB_UPPER="${PORTWINE_DB^^}"
+                    PORTWINE_DB="${PORTWINE_DB_UPPER:0:1}${PORTWINE_DB:1}"
+                fi
+                if (( ${#PORTWINE_DB} > 2 )) ; then
+                    for ((i=0 ; i<${#PORTWINE_DB} ; i++)) ; do
+                        if [[ ${PORTWINE_DB:i:2} =~ ([a-z][A-Z]|[a-z][0-9]) ]] \
+                        && [[ ! ${PORTWINE_DB:i:3} =~ ([a-z][A-Z]" "|[a-z][0-9]" ") ]] ; then
+                            PORTWINE_DB_PROXY+="${PORTWINE_DB:i:1} "
+                        elif [[ ${PORTWINE_DB:i:3} =~ [0-9][0-9][a-zA-Z] ]] ; then
+                            PORTWINE_DB_PROXY+="${PORTWINE_DB:i:2} "
+                            ((i++))
+                        else
+                            PORTWINE_DB_PROXY+="${PORTWINE_DB:i:1}"
+                        fi
+                    done
+                    for ((i=0 ; i<${#PORTWINE_DB_PROXY} ; i++)) ; do
+                        if [[ ${PORTWINE_DB_PROXY:i:2} =~ " "[a-z] ]] ; then
+                            PORTWINE_DB_UPPER="${PORTWINE_DB_PROXY:i:2}"
+                            PORTWINE_DB_NEW+="${PORTWINE_DB_UPPER^^}"
+                            ((i++))
+                        else
+                            PORTWINE_DB_NEW+="${PORTWINE_DB_PROXY:i:1}"
+                        fi
+                    done
+                else
+                    PORTWINE_DB_NEW="$PORTWINE_DB"
+                fi
+                PW_COMMENT_DB="${translations[Launching]} <b>$(print_wrapped "${PORTWINE_DB_NEW}" "50")</b>$(seconds_to_time "$TIME_CURRENT")"
             fi
         else
             PW_COMMENT_DB="$PW_COMMENT_DB$(seconds_to_time "$TIME_CURRENT")"
@@ -639,7 +669,7 @@ else
                 if [[ $SORT_WITH_TIME == enabled ]] && [[ $NEW_DESKTOP == 1 ]] ; then
                     unset NEW_DESKTOP
                     sed -i '/^#NEW_DESKTOP/d' "$desktop_file"
-                    PW_AMOUNT_NEW_DESKTOP=($AMOUNT_GENERATE_BUTTONS)
+                    PW_AMOUNT_NEW_DESKTOP+=($AMOUNT_GENERATE_BUTTONS)
                 else
                     PW_AMOUNT_OLD_DESKTOP+=($AMOUNT_GENERATE_BUTTONS)
                 fi