diff --git a/test/subtract/b2.bed b/test/subtract/b2.bed
new file mode 100644
index 0000000000000000000000000000000000000000..5cb745f518cd713f767aed071c00804347d93ff6
--- /dev/null
+++ b/test/subtract/b2.bed
@@ -0,0 +1,2 @@
+chr1	5	15
+chr1	55	65
diff --git a/test/subtract/test-subtract.sh b/test/subtract/test-subtract.sh
index 8b71a9863a659d69fc41348a6cfd3fa9e707ddb3..42445963e029342ba430b8247366cb7bab6d553f 100644
--- a/test/subtract/test-subtract.sh
+++ b/test/subtract/test-subtract.sh
@@ -130,4 +130,146 @@ echo "    subtract.t10...\c"
 touch exp
 $BT subtract -a c.bed -b d.bed -N -f 0.39 > obs
 check obs exp
-rm obs exp
\ No newline at end of file
+rm obs exp
+
+
+###########################################################
+# 
+# REPEAT TESTS 1-8 WITH -sorted 
+#
+###########################################################
+
+
+###########################################################
+# test baseline subtraction
+###########################################################
+echo "    subtract.t11...\c"
+echo \
+"chr1	10	18	a1	1	+
+chr1	50	70	a2	2	-" > exp
+$BT subtract -a a.bed -b b.bed -sorted > obs
+check obs exp
+rm obs exp
+
+
+###########################################################
+# test -f subtraction
+###########################################################
+echo "    subtract.t12...\c"
+echo \
+"chr1	10	20	a1	1	+
+chr1	50	70	a2	2	-" > exp
+$BT subtract -a a.bed -b b.bed -f 0.5  -sorted > obs
+check obs exp
+rm obs exp
+
+
+###########################################################
+# test -f subtraction
+###########################################################
+echo "    subtract.t13...\c"
+echo \
+"chr1	10	18	a1	1	+
+chr1	50	70	a2	2	-" > exp
+$BT subtract -a a.bed -b b.bed -f 0.1  -sorted > obs
+check obs exp
+rm obs exp
+
+
+###########################################################
+# test -s subtraction
+###########################################################
+echo "    subtract.t14...\c"
+echo \
+"chr1	10	20	a1	1	+
+chr1	50	70	a2	2	-" > exp
+$BT subtract -a a.bed -b b.bed -s -sorted  > obs
+check obs exp
+rm obs exp
+
+
+###########################################################
+# test -S subtraction
+###########################################################
+echo "    subtract.t15...\c"
+echo \
+"chr1	10	18	a1	1	+
+chr1	50	70	a2	2	-" > exp
+$BT subtract -a a.bed -b b.bed -S -sorted > obs
+check obs exp
+rm obs exp
+
+
+###########################################################
+# test -A subtraction
+###########################################################
+echo "    subtract.t16...\c"
+echo \
+"chr1	50	70	a2	2	-" > exp
+$BT subtract -a a.bed -b b.bed -A  -sorted > obs
+check obs exp
+rm obs exp
+
+
+###########################################################
+# test -A with -f subtraction
+###########################################################
+echo "    subtract.t17...\c"
+echo \
+"chr1	10	20	a1	1	+
+chr1	50	70	a2	2	-" > exp
+$BT subtract -a a.bed -b b.bed -A -f 0.5  -sorted > obs
+check obs exp
+rm obs exp
+
+###########################################################
+# test -A with -f subtraction
+###########################################################
+echo "    subtract.t18...\c"
+echo \
+"chr1	50	70	a2	2	-" > exp
+$BT subtract -a a.bed -b b.bed -A -f 0.1  -sorted > obs
+check obs exp
+rm obs exp
+
+
+###########################################################
+#
+# TEST WITH MULTIPLE DATABASES
+# 
+###########################################################
+
+
+###########################################################
+# test with 2 DBs
+###########################################################
+echo "    subtract.t19...\c"
+echo \
+"chr1	15	18	a1	1	+
+chr1	50	55	a2	2	-
+chr1	65	70	a2	2	-" > exp
+$BT subtract -a a.bed -b b.bed b2.bed > obs
+check obs exp
+rm obs exp
+
+###########################################################
+# test with 2 DBs, -f option
+###########################################################
+echo "    subtract.t20...\c"
+echo \
+"chr1	10	20	a1	1	+
+chr1	50	70	a2	2	-" > exp
+$BT subtract -a a.bed -b b.bed b2.bed -f 0.8 > obs
+check obs exp
+rm obs exp
+
+###########################################################
+# test with 2 DBs, -f option and -N options
+###########################################################
+echo "    subtract.t21...\c"
+echo \
+"chr1	50	70	a2	2	-" > exp
+$BT subtract -a a.bed -b b.bed b2.bed -f 0.6 -N > obs
+check obs exp
+rm obs exp
+