diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index e4f33f6726f67218655ba83e5eb142fffbbccf40..8f9dd615e964d024e3d270b1a3db7b0d2c0fb1cc 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -30,12 +30,12 @@ REMOVE_MY_SHUNIT=0
 
 # tests to run
 RUN_UNIT_TESTS=1
-RUN_BASIC_TESTS=0
-RUN_HOOK_TESTS=0
-RUN_NP_TESTS=0
-RUN_SCH_TESTS=0
-RUN_FSDETECT_TESTS=0
-RUN_AFFINITY_TESTS=0
+RUN_BASIC_TESTS=1
+RUN_HOOK_TESTS=1
+RUN_NP_TESTS=1
+RUN_SCH_TESTS=1
+RUN_FSDETECT_TESTS=1
+RUN_AFFINITY_TESTS=1
 # if running these tests, ensure you have proper environment loaded!
 RUN_OMP_TESTS=0
 RUN_MPICH2_TESTS=0
diff --git a/tests/test_lsf.sh b/tests/test_lsf.sh
index 8d79dbf8864cab5b6866fdb01498d4e033f108cb..9cd230ddddbad0a43568d5de2b801708cdff3329 100755
--- a/tests/test_lsf.sh
+++ b/tests/test_lsf.sh
@@ -18,7 +18,7 @@ setUp () {
     unset I2G_MPI_PER_NODE
     export MPI_START_SHARED_FS=1
     export MPI_START_DUMMY_SCHEDULER=0
-    export LSB_HOSTS="host1 host1 host2 host2 host3 host3 host3 host3"
+    export LSB_HOSTS="host2 host2 host1 host1 host3 host3 host3 host3"
 }
 
 tearDown () {
@@ -45,4 +45,8 @@ testNPAndPnode() {
     count_app_np_pnode "lsf"
 }
 
+testHostOrder() {
+    check_host_order
+}
+
 . $SHUNIT2
diff --git a/tests/test_pbs.sh b/tests/test_pbs.sh
index 063a4ae711dce882ba1603f3b4758b02a59e4e2c..54738f637b64b3559d7caea17e51ccce6663c9b9 100755
--- a/tests/test_pbs.sh
+++ b/tests/test_pbs.sh
@@ -20,10 +20,10 @@ setUp () {
     export MPI_START_DUMMY_SCHEDULER=0
     export PBS_NODEFILE=`$MYMKTEMP`
     cat > $PBS_NODEFILE << EOF
-host1
-host1
 host2
 host2
+host1
+host1
 host3
 host3
 host3
@@ -56,4 +56,8 @@ testNPAndPnode() {
     count_app_np_pnode "pbs"
 }
 
+testHostOrder() {
+    check_host_order
+}
+
 . $SHUNIT2
diff --git a/tests/test_scheduler.sh b/tests/test_scheduler.sh
index feb01147ec01f7369171ab58d0b657e9451b67df..57ebca22ab4bade62443a137dc6ecd47050bda48 100755
--- a/tests/test_scheduler.sh
+++ b/tests/test_scheduler.sh
@@ -133,3 +133,27 @@ EOF
     unset I2G_MPI_PER_NODE
     rm -f $I2G_MPI_APPLICATION
 }
+
+check_host_order () {
+    export I2G_MPI_APPLICATION=`$MYMKTEMP`
+    cat > $I2G_MPI_APPLICATION << EOF
+#!/bin/sh
+for h in \`cat \${MPI_START_MACHINEFILE}\`; do
+    echo -n \$h
+done
+echo -n ";" 
+for h in \`cat \${MPI_START_HOSTFILE}\`; do
+    echo -n \$h
+done
+exit 0
+EOF
+    chmod +x $I2G_MPI_APPLICATION
+    output=`$I2G_MPI_START 2> /dev/null`
+    st=$?
+    repeatedhosts=`echo $output | cut -f1 -d";"`
+    hosts=`echo $output | cut -f2 -d";"`
+    assertEquals "host2host2host1host1host3host3host3host3" "$repeatedhosts"
+    assertEquals "host2host1host3" "$hosts"
+    rm -f $I2G_MPI_APPLICATION
+}
+
diff --git a/tests/test_sge.sh b/tests/test_sge.sh
index ae34adf31e78f7236738a74bb6c97a6f6083cefe..f1d164fdf388dad0cf8464ce54cacb0e3793d7fb 100755
--- a/tests/test_sge.sh
+++ b/tests/test_sge.sh
@@ -20,8 +20,8 @@ setUp () {
     export MPI_START_DUMMY_SCHEDULER=0
     export PE_HOSTFILE=`$MYMKTEMP`
     cat > $PE_HOSTFILE << EOF
-host1 2
 host2 2
+host1 2
 host3 4
 EOF
 }
@@ -51,4 +51,8 @@ testNPAndPnode() {
     count_app_np_pnode "sge"
 }
 
+testHostOrder() {
+    check_host_order
+}
+
 . $SHUNIT2
diff --git a/tests/test_slurm.sh b/tests/test_slurm.sh
index f6bb3ef67de7ff5daebd14f8dcd04837f857e3c8..cbd7fe9ce4a7339e3b955d98b08f089797a1410f 100755
--- a/tests/test_slurm.sh
+++ b/tests/test_slurm.sh
@@ -21,10 +21,10 @@ setUp () {
     MYTMPDIR=`$MYMKTEMP -d`
     export SLURM_JOB_NODELIST=$MYTMPDIR/nodes
     cat > $SLURM_JOB_NODELIST << EOF
-host1
-host1
 host2
 host2
+host1
+host1
 host3
 host3
 host3
@@ -79,4 +79,8 @@ testNPAndPnode() {
     count_app_np_pnode "slurm"
 }
 
+testHostOrder() {
+    check_host_order
+}
+
 . $SHUNIT2