diff --git a/ipyrad/assemble/clustmap.py b/ipyrad/assemble/clustmap.py
index <HASH>..<HASH> 100644
--- a/ipyrad/assemble/clustmap.py
+++ b/ipyrad/assemble/clustmap.py
@@ -1976,7 +1976,15 @@ def mapping_reads(data, sample, nthreads, altref=False):
     proc4 = sps.Popen(cmd4, stderr=sps.STDOUT, stdout=sps.PIPE)
     error4 = proc4.communicate()[0]
     if proc4.returncode:
-        raise IPyradError(error4)
+        # https://github.com/dereneaton/ipyrad/issues/435
+        # If the bamfile has very large chromosomes (>500Mb) then the .bai
+        # index format can't handle it. Try again with the .csi format `-c`.
+        if "hts_index_check_range" in error4:
+            cmd4 = [ip.bins.samtools, "index", "-c", bamout]
+            proc4 = sps.Popen(cmd4, stderr=sps.STDOUT, stdout=sps.PIPE)
+            error4 = proc4.communicate()[0]
+            if proc4.returncode:
+                raise IPyradError(error4)
 
     # Running cmd5 writes to either edits/sname-refmap_derep.fa for SE
     # or it makes edits/sname-tmp-umap{12}.fastq for paired data, which
clustmap: Handle bam files with very large chromosomes (#<I>)