diff --git a/test.ecm b/test.ecm
index 11c63f018abaee229a3eec72eda03cd7a4fe2b86..61eba2cad2a98fb9de952726f369700aac0fd811 100755
--- a/test.ecm
+++ b/test.ecm
@@ -265,14 +265,10 @@ echo "2^1123-1" | $ECM -c 2 -param 0 -x0 1 11000; checkcode $? 1
 echo "2^1123-1" | $ECM -param 0 -pm1 11000; checkcode $? 1
 
 # exercise "Could not open file <file> for reading" error message
-$ECM -param 1 -bloads sfile.txt 1e6 < ${GMPECM_DATADIR}/c155; checkcode $? 1
-$ECM -param 1 -bloads sfile.txt 1e6 < ${GMPECM_DATADIR}/c155 2>&1 | grep "Could not open file sfile.txt"; checkcode $? 0
+$ECM -bloads sfile.txt 1e6 < ${GMPECM_DATADIR}/c155; checkcode $? 1
 
 # exercise "read_s_from_file: 0 bytes read from <file>" error message
-echo -e "\n\r\n\r# this is a comment line and should be ignored" > test_dummy2.save
-$ECM -param 1 -bloads test_dummy2.save 1e6 < ${GMPECM_DATADIR}/c155; checkcode $? 1
-$ECM -param 1 -bloads test_dummy2.save 1e6 < ${GMPECM_DATADIR}/c155 2>&1 | grep "0 bytes read from test_dummy2.save"; checkcode $? 0
-/bin/rm -f test_dummy2.save
+$ECM -bloads ${GMPECM_DATADIR}/test_dummy2.save 1e6 < ${GMPECM_DATADIR}/c155; checkcode $? 1
 
 # exercise batch error messages...
 TEST=test.ecm.s$$
@@ -351,63 +347,75 @@ TEST=test.ecm.save$$
 /bin/rm -f $TEST
 echo 17061648125571273329563156588435816942778260706938821014533 | $ECM -save $TEST -param 0 -sigma 585928442 174000 0
 $ECM -resume $TEST 174000 85880350
-checkcode $? 14
+C=$?
+checkcode $C 14
 
-# test savea with existing file
-echo -e "\n\r\n\r# this is a comment line and should be ignored" > $TEST
+# test savea
+cp ${GMPECM_DATADIR}/test_dummy2.save $TEST
 echo 17061648125571273329563156588435816942778260706938821014533 | $ECM -savea $TEST -param 0 -sigma 585928442 174000 0
 $ECM -resume $TEST 174000 85880350
-checkcode $? 14
+C=$?
+checkcode $C 14
 
 # test unknown method
 echo "METHOD=FOO" > $TEST
 $ECM -resume $TEST 174000 85880350
-checkcode $? 0
+C=$?
+checkcode $C 0
 
 # test invalid checksum
 echo "CHECKSUM=xxx" > $TEST
 $ECM -resume $TEST 174000 85880350
-checkcode $? 0
+C=$?
+checkcode $C 0
 
 # test comment
 echo "METHOD=P-1;X=1;N=17;B1=2;COMMENT=this is a comment;" > $TEST
 $ECM -resume $TEST 174000 85880350
-checkcode $? 8
+C=$?
+checkcode $C 8
 
 # test invalid param
 echo "PARAM=xxx" > $TEST
 $ECM -resume $TEST 174000 85880350
-checkcode $? 0
+C=$?
+checkcode $C 0
 
 # test invalid etype
 echo "ETYPE=xxx" > $TEST
 $ECM -resume $TEST 174000 85880350
-checkcode $? 0
+C=$?
+checkcode $C 0
 
 # test invalid B1
 echo "B1=xxx" > $TEST
 $ECM -resume $TEST 174000 85880350
-checkcode $? 0
+C=$?
+checkcode $C 0
 
 # test unknown tag
 echo "FOO=xxx" > $TEST
 $ECM -resume $TEST 174000 85880350
-checkcode $? 0
+C=$?
+checkcode $C 0
 
 # test semicolon after tags
 echo "METHOD=P-1;X=1;N=17;B1=2" > $TEST
 $ECM -resume $TEST 174000 85880350
-checkcode $? 0
+C=$?
+checkcode $C 0
 
 # test QX tag without sigma
 echo "METHOD=ECM;QX=1;N=17;B1=2;" > $TEST
 $ECM -resume $TEST 174000 85880350
-checkcode $? 0
+C=$?
+checkcode $C 0
 
 # test missing fields
 echo "METHOD=ECM;QX=1;N=17;" > $TEST
 $ECM -resume $TEST 174000 85880350
-checkcode $? 0
+C=$?
+checkcode $C 0
 
 /bin/rm -f $TEST
 echo 17061648125571273329563156588435816942778260706938821014533 | $ECM -save $TEST -A 22/7 -x0 1/3 -y0 2/7 1e3
diff --git a/test.gpuecm b/test.gpuecm
index b79a1c4dd401c8edd982e772ad2449e6368c8407..87ef6b8ffab983c7bb7027afb75084b6419f7198 100755
--- a/test.gpuecm
+++ b/test.gpuecm
@@ -182,19 +182,23 @@ $ECMnoGPU -resume test.ecm.save 1e3
 checkcode $? 6
 /bin/rm -f test.ecm.save
 
-echo -e "\n\r\n\r# this is a comment line and should be ignored" > test_dummy2.save
+echo "" > test_dummy2.save
+echo '\r' >> test_dummy2.save
+echo '\r# this is a comment line and should be ignored' >> test_dummy2.save
 
 # test -save/-resume
 /bin/rm -f test.ecm.save
 echo 17061648125571273329563156588435816942778260706938821014533 | $ECM -save test.ecm.save -param 3 -sigma 3781882524 9000 0
 $ECMnoGPU -resume test.ecm.save 9000 1000000
-checkcode $? 14
+C=$?
+checkcode $C 14
 
 # test savea
 cp test_dummy2.save test.ecm.save
 echo 17061648125571273329563156588435816942778260706938821014533 | $ECM -savea test.ecm.save -param 3 -sigma 3781882524 9000 0
 $ECMnoGPU -resume test.ecm.save 9000 1000000
-checkcode $? 14
+C=$?
+checkcode $C 14
 
 echo \" $ECM \"
 
diff --git a/test.pp1 b/test.pp1
index 3441e5c2e99d5f6fe3339c250fa473c19897df9a..bea754c517ec18527df6d4c101420bf292711854 100755
--- a/test.pp1
+++ b/test.pp1
@@ -105,8 +105,8 @@ echo 227718937509844817011855877544711725455111160554330403553675076250615854710
 checkcode $? 0
 $PP1 -resume $TEST 2337233 132554351
 C=$?
-/bin/rm -f $TEST
 checkcode $C 14
+/bin/rm -f $TEST
 
 # test -chkpnt
 TEST=test.pp1.chk$$
diff --git a/test_dummy2.save b/test_dummy2.save
new file mode 100644
index 0000000000000000000000000000000000000000..0eafc2afbe00e27b7af6aba5e66dae22ac984797
--- /dev/null
+++ b/test_dummy2.save
@@ -0,0 +1,3 @@
+
+
+
# this is a comment line and should be ignored