diff --git a/scripts/OS/Arch/partition.sh b/scripts/OS/Arch/partition.sh
index 0cd7ae73..59bde2b3 100755
--- a/scripts/OS/Arch/partition.sh
+++ b/scripts/OS/Arch/partition.sh
@@ -1,10 +1,15 @@
 pushd "${BASH_SOURCE%/*}" > /dev/null;
 
 source "../../Scripts/choose-disk.sh";
-ARCH_DISK="${ARCH_DISK:-$(chooseDisk "Which disk do you wish to format for installing Arch?")}";
+ARCH_DISK="${ARCH_DISK}";
 memory="$(cat /proc/meminfo | awk -F " " '/^MemTotal/ { print $2 }')";
 swapSize="$(echo "$memory" | awk '{ print int(($1 / 1024 / 1024 4) + 0.5)}')";
 
+if [ -z "$ARCH_DISK" ]
+then
+    chooseDisk ARCH_DISK "Which disk do you wish to format for installing Arch?";
+fi;
+
 {
     echo "g";
 
diff --git a/scripts/Scripts/choose-disk.sh b/scripts/Scripts/choose-disk.sh
index 83b4566b..c1e8a8d4 100755
--- a/scripts/Scripts/choose-disk.sh
+++ b/scripts/Scripts/choose-disk.sh
@@ -1,6 +1,7 @@
 #!/bin/bash
 function chooseDisk() {
-    local message="$1";
+    local -n result="$1";
+    local message="$2";
     local choice;
     local disk;
     local -a disks;
@@ -46,7 +47,7 @@ function chooseDisk() {
             if [ "$choice" -ge 1 ] && [ "$choice" -le "$diskCount" ]
             then
                 disk=(${disks[$choice]});
-                echo "/dev/${disk[0]}";
+                result="/dev/${disk[0]}";
                 return;
             else
                 >&2 echo "The specified choice \"$choice\" is invalid!";