diff --git a/modules/seq/base/pymod/export_sequence.cc b/modules/seq/base/pymod/export_sequence.cc
index 3f8636fe5ff64b7378ccbfa5d2eda6b2cde27170..87f9d3a6f9dde794a00586cb7aecba81541f8cf1 100644
--- a/modules/seq/base/pymod/export_sequence.cc
+++ b/modules/seq/base/pymod/export_sequence.cc
@@ -102,8 +102,9 @@ struct RevRegionRangeIter {
     if (b_==e_) {
       boost::python::objects::stop_iteration_error();
     }
-    AlignedColumn col=*e_;
     --e_;
+    AlignedColumn col=*e_;
+
     return col;
   }
 private:
@@ -142,7 +143,7 @@ RegionRangeIter iter_range2(AlignedRegion& aln_region)
   return RegionRangeIter(aln_region.begin(), aln_region.end());
 }
 
-RevRegionRangeIter iter_range3(AlignedRegion& aln_region)
+RevRegionRangeIter iter_range_rev(AlignedRegion& aln_region)
 {
   return RevRegionRangeIter(aln_region.begin(), aln_region.end());
 }
@@ -274,7 +275,7 @@ void export_sequence()
     .def("__getitem__", &AlignedRegion::operator[])
     .def("__len__", &AlignedRegion::GetLength)
     .def("__iter__", iter_range2)
-    //~ .def("__iter__", iter_range3)
+    //~ .def("__reversed__", iter_range_rev)
     .add_property("start", &AlignedRegion::GetStart)
     .add_property("end", &AlignedRegion::GetEnd)
   ;
diff --git a/modules/seq/base/src/alignment_handle.cc b/modules/seq/base/src/alignment_handle.cc
index 3ad612da9c7a61b17d3294d7afcfc5733ff7ad08..cf19f5a13fb6528469707f029d13150424af76f4 100644
--- a/modules/seq/base/src/alignment_handle.cc
+++ b/modules/seq/base/src/alignment_handle.cc
@@ -203,7 +203,7 @@ void AlignmentHandle::ShiftRegion(int start, int end, int amount,
 AlignedRegion AlignmentHandle::MakeRegion(int start, int n, int master) const
 {
   this->CheckValidity();
-  if(start<0 || n < 0 || start >= n || start + n >= this->GetLength()){
+  if(start<0 || n < 0 || start >= n || start + n > this->GetLength()){
     throw std::out_of_range("Region not valid");
   }
   return AlignedRegion(*this, start, start+n, master);