diff --git a/core/pymod/core/pm3argparse.py b/core/pymod/core/pm3argparse.py
index dd4c981f1d3415e57d9b9aa1e4d09594018d18bb..69601078cb9fe2c22e27fe4795228fe17fbe1bb6 100644
--- a/core/pymod/core/pm3argparse.py
+++ b/core/pymod/core/pm3argparse.py
@@ -235,7 +235,9 @@ class PM3OptionsNamespace(object):
                                    "argument 'trg:' defining the "+
                                    "target sequence name, empty one "+
                                    "found: '%s'" % ' '.join(argstr), 14)
-        return trgname, seqfile
+        helper.FileExists("Alignment", 12, seqfile)
+        is_gz = helper.FileGzip("Alignment", 13, seqfile)
+        return trgname, seqfile, is_gz
 
     def _PostProcessAlignment(self):
         #pylint: disable=no-member
@@ -247,9 +249,7 @@ class PM3OptionsNamespace(object):
         self.alignments = seq.AlignmentList()
         if self.fasta:
             for src in self.fasta:
-                trgname, seqfile = self._FetchAlnFromFastaOpt(src)
-                helper.FileExists("Alignment", 12, seqfile)
-                is_gz = helper.FileGzip("Alignment", 13, seqfile)
+                trgname, seqfile, is_gz = self._FetchAlnFromFastaOpt(src)
                 readfile = seqfile
                 if is_gz:
                     zip_fh = gzip.open(seqfile)