diff --git a/testsuite/expect/globals b/testsuite/expect/globals
index b68e4dbbd864e311d5865771b5ecc26c68f931f7..ec588fad1c23f19cb75a91683f5ef47465a9d29b 100755
--- a/testsuite/expect/globals
+++ b/testsuite/expect/globals
@@ -1761,11 +1761,11 @@ proc test_super_user { } {
 
 ################################################################
 #
-# Proc: dec2hex16
+# Proc: dec2hex
 #
-# Purpose: Create a 16 bit hex number from a signed decimal number
+# Purpose: Create a 32 bit hex number from a signed decimal number
 #
-# Returns: 16 bit hex version of input 'value'
+# Returns: 32 bit hex version of input 'value'
 #
 # Input: value -- decimal number to convert
 #
@@ -1773,43 +1773,42 @@ proc test_super_user { } {
 # http://aspn.activestate.com/ASPN/Cookbook/Tcl/Recipe/415982
 ################################################################
 # Replace all non-decimal characters
-proc dec2hex16 {value} {
+proc dec2hex {value} {
 	regsub -all {[^0-x\.-]} $value {} newtemp
 	set value [string trim $newtemp]
-	if {$value < 32767 && $value > -32768} {
+	if {$value < 2147483647 && $value > -2147483648} {
 		set tempvalue [format "%#010X" [expr $value]]
-		return [string range $tempvalue 6 9]
-	} elseif {$value < 32768} {
-		return "8000"
+		return [string range $tempvalue 2 9]
+	} elseif {$value < -2147483647} {
+		return "80000000"
 	} else {
-		return "7FFF"
+		return "7FFFFFFF"
 	}
 }
 
 ################################################################
 #
-# Proc: dec2hex32
+# Proc: uint2hex
 #
-# Purpose: Create a 32 bit hex number from a signed decimal number
+# Purpose: Create a 32 bit hex number from an unsigned decimal
+# number. 
 #
 # Returns: 32 bit hex version of input 'value'
 #
-# Input: value -- decimal number to convert
+# Input: value -- unsigneddecimal number to convert
 #
 # Courtesy of Chris Cornish
 # http://aspn.activestate.com/ASPN/Cookbook/Tcl/Recipe/415982
 ################################################################
 # Replace all non-decimal characters
-proc dec2hex {value} {
+proc uint2hex {value} {
 	regsub -all {[^0-x\.-]} $value {} newtemp
 	set value [string trim $newtemp]
-	if {$value < 2147483647 && $value > -2147483648} {
+	if {$value <= 4294967295 && $value >= 0} {
 		set tempvalue [format "%#010X" [expr $value]]
 		return [string range $tempvalue 2 9]
-	} elseif {$value < -2147483647} {
-		return "80000000"
 	} else {
-		return "7FFFFFFF"
+		return "FFFFFFFF"
 	}
 }
 
diff --git a/testsuite/expect/test1.89 b/testsuite/expect/test1.89
index aafd52f58c99bdf47f2423fd8f1ca999e0009a86..1ac192f44c892b072736f4aebb285e3cf7a0fdde 100755
--- a/testsuite/expect/test1.89
+++ b/testsuite/expect/test1.89
@@ -149,6 +149,31 @@ expect {
 	}
 }
 
+if {$task_cnt > 32} {
+	send "exit\r"
+	expect {
+		-re "error" {
+			send_user "\nFAILURE: some error occurred\n"
+			set exit_code 1
+		}
+		timeout {
+			send_user "\nFAILURE: salloc not responding "
+			send_user "or failure to recognize prompt\n"
+			slow_kill $salloc_pid
+			set exit_code 1
+		}
+		eof {
+			wait
+		}
+	}
+
+	if {$exit_code == 0} {
+		exec $bin_rm -f $file_prog
+		send_user "\nWARNING: Expect unable to work with more than 32-bit numbers\n"
+	}
+	exit $exit_code
+}
+
 #
 # Run a job step with affinity
 #
@@ -285,7 +310,7 @@ set cpu_cnt 0
 while {$cpu_cnt < $task_cnt} {
 	set mask_sum 0
 	set mask [ expr 1 << $cpu_cnt ]
-	set mstr [ dec2hex $mask]
+	set mstr [ uint2hex $mask ]
 	send "$srun -c1 --cpu_bind=mask_cpu:$mstr ./$file_prog\r"
 	expect {
 		-re "TASK_ID:($number),MASK:($number)" {
@@ -326,7 +351,7 @@ set full_mask [ expr (1 << $task_cnt) - 1 ]
 while {$cpu_cnt < $task_cnt} {
 	set mask_sum 0
 	set mask [ expr 1 << $cpu_cnt ]
-	set mstr [ dec2hex  $mask]
+	set mstr [ uint2hex  $mask ]
 	set fwd_mask "$fwd_mask,$mstr"
 	set fwd_map  "$fwd_map,$cpu_cnt"
 	set rev_mask "$mstr,$rev_mask"
@@ -555,4 +580,3 @@ if {$exit_code == 0} {
 	send_user "  or if Shared=FORCE for the default partition.\n"
 }
 exit $exit_code
-
diff --git a/testsuite/expect/test1.90 b/testsuite/expect/test1.90
index 35f9ec4281df787955b9553f09a51f19d3fd8b09..c0dd3c325dfb0a44c32890df5f94196b9270fbf7 100755
--- a/testsuite/expect/test1.90
+++ b/testsuite/expect/test1.90
@@ -336,7 +336,7 @@ set cpu_cnt 0
 while {$cpu_cnt < $task_cnt} {
 	set mask_sum 0
 	set mask [ expr 1 << $cpu_cnt ]
-	set mstr [ dec2hex $mask]
+	set mstr [ uint2hex $mask ]
 	send "$srun -n $task_cnt --mem_bind=mask_mem:$mstr ./$file_prog\r"
 	expect {
 		 -re "TASK_ID:($number),CPU_MASK:($number),MEM_MASK:($number)" {
@@ -377,7 +377,7 @@ set full_mask [ expr (1 << $task_cnt) - 1 ]
 while {$cpu_cnt < $task_cnt} {
 	set mask_sum 0
 	set mask [ expr 1 << $cpu_cnt ]
-	set mstr [ dec2hex  $mask]
+	set mstr [ uint2hex  $mask ]
 	set fwd_mask "$fwd_mask,$mstr"
 	set fwd_map  "$fwd_map,$cpu_cnt"
 	set rev_mask "$mstr,$rev_mask"