diff --git a/src/closestBed/closestBed.cpp b/src/closestBed/closestBed.cpp
index 12279c3922643cee83fa082ccdd564881debafa3..673028aa964f0cfcfe662ba3a8b7d435803240af 100644
--- a/src/closestBed/closestBed.cpp
+++ b/src/closestBed/closestBed.cpp
@@ -126,6 +126,7 @@ void BedClosest::FindWindowOverlaps(BED &a, vector<BED> &hits) {
                         closestB.clear();
                         distances.clear();
                     }
+                    minDistance = 0;
                     closestB.push_back(*h);
                     distances.push_back(0);
                 }
diff --git a/test/closest/close-a.bed b/test/closest/close-a.bed
new file mode 100644
index 0000000000000000000000000000000000000000..ad2095e3f79b4b6b2c7d65fb6f733f79c4bb6b91
--- /dev/null
+++ b/test/closest/close-a.bed
@@ -0,0 +1,8 @@
+track name="Test Bed" maxheightpixels=120:120
+chr1	100	101
+chr1	200	201
+chr1	300	301
+chr1	100000	100010
+chr1	100020	100040
+chr2	1	10
+chr2	20	30
diff --git a/test/closest/close-b.bed b/test/closest/close-b.bed
new file mode 100644
index 0000000000000000000000000000000000000000..65b4e0045635456515294717da60ccb364050473
--- /dev/null
+++ b/test/closest/close-b.bed
@@ -0,0 +1,7 @@
+track name="Test Bed 2" maxheightpixels=120:120
+chr1	100	101
+chr1	150	201
+chr1	175	375
+chr3	20	30
+chr7	55209979	55210130
+chr7	55210220	55210688
diff --git a/test/closest/test-closest.sh b/test/closest/test-closest.sh
index 58269cf86010e7c7bbda161cb404b0648d9d5215..7a0ded2db6349cda7d737ea90aa264372c5f111f 100644
--- a/test/closest/test-closest.sh
+++ b/test/closest/test-closest.sh
@@ -101,3 +101,69 @@ echo \
 $BT closest -a strand-test-a.bed -b strand-test-b.bed -S > obs
 check obs exp
 rm obs exp
+
+
+###########################################################
+# test reproting of all overlapping features
+###########################################################
+echo "    closest.t9...\c"
+echo \
+"chr1	100	101	chr1	100	101
+chr1	200	201	chr1	150	201
+chr1	200	201	chr1	175	375
+chr1	300	301	chr1	175	375
+chr1	100000	100010	chr1	175	375
+chr1	100020	100040	chr1	175	375
+chr2	1	10	.	-1	-1
+chr2	20	30	.	-1	-1" > exp
+$BT closest -a close-a.bed -b close-b.bed > obs
+check obs exp
+rm obs exp
+
+###########################################################
+# test reproting of first overlapping feature
+###########################################################
+echo "    closest.t10...\c"
+echo \
+"chr1	100	101	chr1	100	101
+chr1	200	201	chr1	150	201
+chr1	300	301	chr1	175	375
+chr1	100000	100010	chr1	175	375
+chr1	100020	100040	chr1	175	375
+chr2	1	10	.	-1	-1
+chr2	20	30	.	-1	-1" > exp
+$BT closest -a close-a.bed -b close-b.bed -t first > obs
+check obs exp
+rm obs exp
+
+###########################################################
+# test reproting of last overlapping feature
+###########################################################
+echo "    closest.t11...\c"
+echo \
+"chr1	100	101	chr1	100	101
+chr1	200	201	chr1	175	375
+chr1	300	301	chr1	175	375
+chr1	100000	100010	chr1	175	375
+chr1	100020	100040	chr1	175	375
+chr2	1	10	.	-1	-1
+chr2	20	30	.	-1	-1" > exp
+$BT closest -a close-a.bed -b close-b.bed -t last > obs
+check obs exp
+rm obs exp
+
+###########################################################
+# test reproting of no overlapping feature
+###########################################################
+echo "    closest.t12...\c"
+echo \
+"chr1	100	101	chr1	150	201
+chr1	200	201	chr1	100	101
+chr1	300	301	chr1	150	201
+chr1	100000	100010	chr1	175	375
+chr1	100020	100040	chr1	175	375
+chr2	1	10	.	-1	-1
+chr2	20	30	.	-1	-1" > exp
+$BT closest -a close-a.bed -b close-b.bed -io > obs
+check obs exp
+rm obs exp