diff --git a/src/closestBed/closestBed.cpp b/src/closestBed/closestBed.cpp
index c2316b236a8841b98efe9b6db49e368ec454d371..386cb339448abc253910410d3d16a8e4d92d4bc2 100644
--- a/src/closestBed/closestBed.cpp
+++ b/src/closestBed/closestBed.cpp
@@ -110,7 +110,7 @@ void BedClosest::FindWindowOverlaps(BED &a, vector<BED> &hits) {
                 }
                 // the hit is to the "left" of A
                 else if (h->end <= a.start) {
-                    curDistance = a.start - h->end;
+                    curDistance = (a.start - h->end) + 1;
                     if (_signDistance) {
                         if ((_strandedDistMode == "ref")
                                 || (_strandedDistMode == "a" && a.strand != "-")
@@ -146,7 +146,7 @@ void BedClosest::FindWindowOverlaps(BED &a, vector<BED> &hits) {
                 }
                 // the hit is to the "right" of A
                 else if (h->start >= a.end) {
-                    curDistance = h->start - a.end;
+                    curDistance = (h->start - a.end) + 1;
                     if (_signDistance) {
                         if ((_strandedDistMode == "a" && a.strand == "-")
                                 || (_strandedDistMode == "b" && h->strand != "-")) {
diff --git a/test/closest/a.bed b/test/closest/a.bed
new file mode 100644
index 0000000000000000000000000000000000000000..d6c80bc6d33f8a72df31745e36b65f8364603dbb
--- /dev/null
+++ b/test/closest/a.bed
@@ -0,0 +1 @@
+chr1	10	20
diff --git a/test/closest/b-one-bp-closer.bed b/test/closest/b-one-bp-closer.bed
new file mode 100644
index 0000000000000000000000000000000000000000..e14af6d68084cc6afe09ee8131dca1506a96faee
--- /dev/null
+++ b/test/closest/b-one-bp-closer.bed
@@ -0,0 +1 @@
+chr1	19	21
diff --git a/test/closest/b.bed b/test/closest/b.bed
new file mode 100644
index 0000000000000000000000000000000000000000..9853a2644630b3126929a240574919b20b26a95f
--- /dev/null
+++ b/test/closest/b.bed
@@ -0,0 +1 @@
+chr1	20	21
diff --git a/test/closest/test-closest.sh b/test/closest/test-closest.sh
new file mode 100644
index 0000000000000000000000000000000000000000..a621e097bff0ded92dade6c794d28e71a8a4f0cb
--- /dev/null
+++ b/test/closest/test-closest.sh
@@ -0,0 +1,61 @@
+BT=../../bin/bedtools
+
+check()
+{
+	if diff $1 $2; then
+    	echo ok
+		return 1
+	else
+    	echo fail
+		return 0
+	fi
+}
+
+# cat a.bed
+# chr1	20	21
+
+# cat b.bed
+# chr1	20	21
+
+# cat b-one-bp-closer.bed
+# chr1	19	21
+
+###########################################################
+# test 1bp apart; checking for off-by-one errors
+###########################################################
+echo "    closest.t1...\c"
+echo \
+"chr1	10	20	chr1	20	21	1" > exp
+$BT closest -a a.bed -b b.bed -d > obs
+check obs exp
+rm obs exp
+
+###########################################################
+# test reciprocal of t1
+###########################################################
+echo "    closest.t2...\c"
+echo \
+"chr1	20	21	chr1	10	20	1" > exp
+$BT closest -a b.bed -b a.bed -d > obs
+check obs exp
+rm obs exp
+
+###########################################################
+# test 0bp apart; checking for off-by-one errors
+###########################################################
+echo "    closest.t3...\c"
+echo \
+"chr1	10	20	chr1	19	21	0" > exp
+$BT closest -a a.bed -b b-one-bp-closer.bed -d > obs
+check obs exp
+rm obs exp
+
+###########################################################
+# test reciprocal of t3
+###########################################################
+echo "    closest.t4...\c"
+echo \
+"chr1	19	21	chr1	10	20	0" > exp
+$BT closest -a b-one-bp-closer.bed -b a.bed -d > obs
+check obs exp
+rm obs exp
diff --git a/test/test.sh b/test/test.sh
index 042896f5f70cb48945f7dc27e3f5dbb9f0af33e1..5c8df4547b84631f47ec6aa2684922e39d0c6276 100644
--- a/test/test.sh
+++ b/test/test.sh
@@ -7,6 +7,9 @@ cd bed12tobed6; sh test-bed12tobed6.sh; cd ..
 echo " Testing bedtools bamtobed:"
 cd bamtobed; sh test-bamtobed.sh; cd ..
 
+echo " Testing bedtools closest:"
+cd closest; sh test-closest.sh; cd ..
+
 echo " Testing bedtools cluster:"
 cd cluster; sh test-cluster.sh; cd ..