diff --git a/.gitignore b/.gitignore
index bf385c65b78082fb3581d2a2f613ae4da90d7d4b..7756350a2c67d0e3d37642c65031fe63689233da 100644
--- a/.gitignore
+++ b/.gitignore
@@ -108,5 +108,4 @@ report*.html*
 timeline*.html*
 /workflow/output/*
 /work/*
-/test_data/*
 /.nextflow/*
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 77ccac22151846411a2e843ee79a592c6200af85..b2413626756a41740b515b5d1c01e05ab6ce2b23 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,8 +14,10 @@ All notable changes to this project will be documented in this file.
 - Make gtf and geneName files as param inputs
 - Fix xcor to increase file size for --random-source
 - Fix skip diff test for paired-end data
+- Fix xcor to get lowest non zero value about 50
 - Fix references to display in Multiqc report
 
+
 ## [publish_1.0.6 ] - 2019-05-31
 ### Added
 - MIT LICENSE
diff --git a/test_data/test_cross.qc b/test_data/test_cross.qc
new file mode 100644
index 0000000000000000000000000000000000000000..6fbc0ad1ab342196e525953dbcb28b6d07ba24f9
--- /dev/null
+++ b/test_data/test_cross.qc
@@ -0,0 +1 @@
+Test.20.tagAlign.gz	18588987	0,20,33	0.211525291335199,0.211232019956852,0.211139666755398	35	0.2123067	1500	0.209429	1.01001	0.7284536       0
diff --git a/workflow/scripts/call_peaks_macs.py b/workflow/scripts/call_peaks_macs.py
index e094fb914734cf66e7ec4b99be19511585c10e63..f7527ebffffd5b87860f736e6e5382f4ea886eb7 100644
--- a/workflow/scripts/call_peaks_macs.py
+++ b/workflow/scripts/call_peaks_macs.py
@@ -138,8 +138,20 @@ def call_peaks_macs(experiment, xcor, control, prefix, genome_size, chrom_sizes)
     with open(xcor, 'r') as xcor_fh:
         firstline = xcor_fh.readline()
         frag_lengths = firstline.split()[2]  # third column
-        fragment_length = frag_lengths.split(',')[0]  # grab first value
-        logger.info("Fraglen %s", fragment_length)
+        frag_lengths_array = frag_lengths.split(',')
+        fragment_length = 0
+        fragment = False
+        # Loop through all values of fragment length
+        for f in frag_lengths.split(','):
+            fragment_length = f
+            logger.info("Fraglen %s", fragment_length)
+            if int(fragment_length) > 50:
+                fragment = True
+                break
+
+        if fragment == False:
+            logger.info('Error in cross-correlation analysis: %s', frag_lengths_array)
+            raise Exception("Error in cross-correlation analysis: %s" % frag_lengths_array)
 
     # Generate narrow peaks and preliminary signal tracks
 
diff --git a/workflow/tests/test_call_peaks_macs.py b/workflow/tests/test_call_peaks_macs.py
index cd94e1783a25ffa953b3666f7cb3172c33f4f0bd..3b4404dfda2499cbb416e851bb7fcc3289d7de90 100644
--- a/workflow/tests/test_call_peaks_macs.py
+++ b/workflow/tests/test_call_peaks_macs.py
@@ -3,10 +3,29 @@
 import pytest
 import os
 import utils
+from io import StringIO
+import call_peaks_macs
 
 test_output_path = os.path.dirname(os.path.abspath(__file__)) + \
                 '/../output/callPeaksMACS/'
 
+test_data_path = os.path.dirname(os.path.abspath(__file__)) + \
+		'/../../test_data/'
+        
+
+@pytest.mark.unit
+def test_fragment_length():
+    experiment = "experiment.tagAlign.gz"
+    control = "control.tagAlign.gz"
+    prefix = 'test'
+    genome_size = 'hs'
+    chrom_sizes = 'genomefile.txt'
+    cross_qc = os.path.join(test_data_path, 'test_cross.qc')
+    with pytest.raises(Exception) as excinfo:
+        call_peaks_macs.call_peaks_macs(experiment, cross_qc, control, prefix, genome_size, chrom_sizes)
+    assert str(excinfo.value) == "Error in cross-correlation analysis: ['0', '20', '33']"
+
+
 
 @pytest.mark.singleend
 def test_fc_signal_singleend():