diff --git a/.gitignore b/.gitignore
index db9079ef855fbeb8c1497adb740325f62f281761..a8778a3b82b2cf89f2169f2580d16b0975bb41ba 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,6 +37,8 @@ examples/*/gravity_checks_*.dat
 tests/testPair
 tests/brute_force_periodic_BC_standard.dat
 tests/swift_periodic_BC_standard.dat
+tests/brute_force_periodic_BC_pertrubed.dat
+tests/swift_periodic_BC_perturbed.dat
 tests/brute_force_standard.dat
 tests/swift_dopair_standard.dat
 tests/brute_force_perturbed.dat
@@ -67,6 +69,8 @@ tests/testMaths
 tests/testThreadpool
 tests/testParser
 tests/parser_output.yml
+tests/testPeriodicBC.sh
+tests/testPeriodicBCPerturbed.sh
 tests/test27cells.sh
 tests/test27cellsPerturbed.sh
 tests/test125cells.sh
diff --git a/configure.ac b/configure.ac
index 3ce3a45cb7ffb4977ca5fe376849bfc0227c7b65..d7adefe3a41c81a57cf430b2442a065fff2cb9ae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -855,6 +855,7 @@ AC_CONFIG_FILES([tests/test27cellsPerturbed.sh], [chmod +x tests/test27cellsPert
 AC_CONFIG_FILES([tests/test125cells.sh], [chmod +x tests/test125cells.sh])
 AC_CONFIG_FILES([tests/test125cellsPerturbed.sh], [chmod +x tests/test125cellsPerturbed.sh])
 AC_CONFIG_FILES([tests/testPeriodicBC.sh], [chmod +x tests/testPeriodicBC.sh])
+AC_CONFIG_FILES([tests/testPeriodicBCPerturbed.sh], [chmod +x tests/testPeriodicBCPerturbed.sh])
 AC_CONFIG_FILES([tests/testParser.sh], [chmod +x tests/testParser.sh])
 
 # Save the compilation options
diff --git a/tests/Makefile.am b/tests/Makefile.am
index e5f9c798b9cff884ad80a107f79dca20521d9a35..3261e865e547cc1bf557e5d17c031d6babd3a4ab 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -25,7 +25,8 @@ TESTS = testGreetings testMaths testReading.sh testSingle testKernel testSymmetr
         testParser.sh testSPHStep test125cells.sh test125cellsPerturbed.sh testFFT \
         testAdiabaticIndex testRiemannExact testRiemannTRRS testRiemannHLLC \
         testMatrixInversion testThreadpool testDump testLogger \
-        testVoronoi1D testVoronoi2D testVoronoi3D testPeriodicBC.sh
+        testVoronoi1D testVoronoi2D testVoronoi3D testPeriodicBC.sh \
+				testPeriodicBCPerturbed.sh
 
 # List of test programs to compile
 check_PROGRAMS = testGreetings testReading testSingle testTimeIntegration \
@@ -94,8 +95,8 @@ testLogger_SOURCES = testLogger.c
 # Files necessary for distribution
 EXTRA_DIST = testReading.sh makeInput.py testPair.sh testPairPerturbed.sh \
 	     test27cells.sh test27cellsPerturbed.sh testParser.sh testPeriodicBC.sh \
-	     test125cells.sh test125cellsPerturbed.sh testParserInput.yaml difffloat.py \
-	     tolerance_125_normal.dat tolerance_125_perturbed.dat \
+			 testPeriodicBCPerturbed.sh test125cells.sh test125cellsPerturbed.sh testParserInput.yaml \
+			 difffloat.py tolerance_125_normal.dat tolerance_125_perturbed.dat \
              tolerance_27_normal.dat tolerance_27_perturbed.dat \
 	     tolerance_pair_normal.dat tolerance_pair_perturbed.dat \
-	     fft_params.yml
+	     fft_params.yml tolerance_periodic_BC_normal.dat tolerance_periodic_BC_perturbed.dat
diff --git a/tests/testPeriodicBCPerturbed.sh.in b/tests/testPeriodicBCPerturbed.sh.in
new file mode 100755
index 0000000000000000000000000000000000000000..d6675f8c7c3e326167f9a7768d74cd77fda5e66c
--- /dev/null
+++ b/tests/testPeriodicBCPerturbed.sh.in
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+for v in {0..3}
+do
+    echo ""
+	
+    rm -f brute_force_periodic_BC_perturbed.dat swift_periodic_BC_perturbed.dat
+
+    echo "Running ./testPeriodicBC -n 6 -r 1 -d 0.1 -f perturbed -v $v"
+    ./testPeriodicBC -n 6 -r 1 -d 0.1 -f perturbed -v $v
+
+    if [ -e brute_force_periodic_BC_perturbed.dat ]
+    then
+	if python @srcdir@/difffloat.py brute_force_periodic_BC_perturbed.dat swift_periodic_BC_perturbed.dat @srcdir@/tolerance_periodic_BC_perturbed.dat 6
+	then
+	    echo "Accuracy test passed"
+	else
+	    echo "Accuracy test failed"
+	    exit 1
+	fi
+    else
+	echo "Error Missing test output file"
+	exit 1
+    fi
+
+    echo "------------"
+    
+done
+
+exit $?