diff --git a/src/slurmctld/node_mgr.c b/src/slurmctld/node_mgr.c
index 2c1e88f3792cf7cf7de6077260106fcf4b25b852..f9fb573bddb699e6d04a128c79b7d686c714f8f7 100644
--- a/src/slurmctld/node_mgr.c
+++ b/src/slurmctld/node_mgr.c
@@ -478,61 +478,15 @@ find_node_record (char *name)
  */
 static int _hash_index (char *name) 
 {
-	int i, inx = 0, tmp;
+	int i = 0;
 
 	if (node_record_count == 0)
 		return 0;	/* degenerate case */
 
-	if ( slurmctld_conf.hash_base == 10 ) {
-		for (i = 0;; i++) {
-			tmp = (int) name[i];
-			if (tmp == 0)
-				break;	/* end if string */
-			if ((tmp >= (int) '0') && (tmp <= (int) '9'))
-				inx = (inx * slurmctld_conf.hash_base) + 
-				      (tmp - (int) '0');
-		}
-	}
-
-	else if ( slurmctld_conf.hash_base == 8 ) {
-		for (i = 0;; i++) {
-			tmp = (int) name[i];
-			if (tmp == 0)
-				break;	/* end if string */
-			if ((tmp >= (int) '0') && (tmp <= (int) '7'))
-				inx = (inx * slurmctld_conf.hash_base) + 
-				      (tmp - (int) '0');
-		}
-	}
-
-	else {
-		for (i = 0; i < 5; i++) {
-			tmp = (int) name[i];
-			if (tmp == 0)
-				break;	/* end if string */
-			if ((tmp >= (int) '0') && (tmp <= (int) '9')) {	
-				/* value 0-9 */
-				tmp -= (int) '0';
-				}
-			else if ((tmp >= (int) 'a') && (tmp <= (int) 'z')) {
-				/* value 10-35 */
-				tmp -= (int) 'a';
-				tmp += 10;
-			}
-			else if ((tmp >= (int) 'a') && (tmp <= (int) 'z')) {
-				/* value 10-35 */
-				tmp -= (int) 'a';
-				tmp += 10;
-			}
-			else {
-				tmp = 36;
-			}
-			inx = (inx * 37) + tmp;
-		}
-	}
-
-	inx = inx % node_record_count;
-	return inx;
+	while (*name)
+		i += (int) *name++;
+	i %= node_record_count;
+	return i;
 }