diff --git a/examples/demos/conservation.py b/examples/demos/conservation.py
index 8ecce056648e082f70cd4f16f6ea5b7cd0ab3077..b2e206c126e32543bc297508aa6bca5740b4b7f4 100644
--- a/examples/demos/conservation.py
+++ b/examples/demos/conservation.py
@@ -7,7 +7,7 @@ m=io.LoadPDB('data/sh2.pdb')
 mp=m.Select('ishetatm=false')
 aln=io.LoadAlignment('data/sh2.aln')
 aln.AttachView(0, mp)
-
+aln.SetSequenceOffset(0, 1)
 #-------------------------------------------------------------------------------
 # Calculate conservation of alignment
 # First we set all properties to zero, then let alg.Conservation assign the
@@ -27,12 +27,12 @@ scene.Add(gs)
 scene.Add(g)
 scene.CenterOn(g)
 
-s.Attach(mp.Select('ishetatm=false'), 5.0)
+s.Attach(mp.Select('ishetatm=false'), 8.0)
 
 gr=gfx.Gradient()
-gr.SetColorAt(0.0, gfx.BLUE)
-gr.SetColorAt(0.5, gfx.WHITE)
-gr.SetColorAt(1.0, gfx.RED)
+gr.SetColorAt(0.0, gfx.Color(0.1, 0.1, 0.8))
+gr.SetColorAt(1.0, gfx.Color(0.8, 0.1, 0.1))
+
 gs.ColorBy('cons', gr, 0.8, 1.0, 
            mol.Prop.Level.RESIDUE)
 g.SetRenderMode(gfx.HSC, 
diff --git a/examples/demos/data/sh2.aln b/examples/demos/data/sh2.aln
index 45daa963b90571581ffe75d3904757efafe107a8..7a18486a077f360b5522ed8b9c65523a716f9277 100644
--- a/examples/demos/data/sh2.aln
+++ b/examples/demos/data/sh2.aln
@@ -4,7 +4,6 @@ CLUSTAL 2.0.12 multiple sequence alignment
 SH2                         -------------------------KP-HPWFFGKIPRAKAEEMLSKQR- 23
 UniRef90_UPI0000EB201F      KAELNGKDGFIPKN-------YIEMKP-HPWFFGKIPRAKAEEMLSKQR- 45
 UniRef90_P62993             KAELNGKDGFIPKN-------YIEMKP-HPWFFGKIPRAKAEEMLSKQR- 78
-UniRef90_P62993-2           KAELNGKDGFIPKN-------YIEMKP-HP-------------------- 59
 UniRef90_P87379             KAELNGKDGFIPKN-------YIEMKA-HPWFFGKIPRAKAEEMLGKQR- 78
 UniRef90_UPI00016E653C      KAELRGKDGFIPKN-------YIEMKA-HPWFYGKIPRAKAEEILNKQR- 78
 UniRef90_UPI00016E653B      KAELRGKDGFIPKN-------YIEMKA-HPWFYGKIPRAKAEEILNKQR- 78
@@ -57,7 +56,6 @@ UniRef90_Q567F1             KAELHGHEGYVPKN-------YVDRQI-PSWFKESASRGSAEETLMSRE- 7
 SH2                         -------HDGAFLIRESESA--PGDFSL----SVKFGNDVQHFKVLR--D 58
 UniRef90_UPI0000EB201F      -------HDGAFLIRESESA--PGDFSL----SVKFGNDVQHFKVLR--D 80
 UniRef90_P62993             -------HDGAFLIRESESA--PGDFSL----SVKFGNDVQHFKVLR--D 113
-UniRef90_P62993-2           -----------------------------------FGNDVQHFKVLR--D 72
 UniRef90_P87379             -------HDGAFLIRESESA--PGDFSL----SVKFGNDVQHFKVLR--D 113
 UniRef90_UPI00016E653C      -------RDGAFLIRESESA--PGDFSL----SVKYGNDVQHFKVLR--D 113
 UniRef90_UPI00016E653B      -------RDGAFLIRESESA--PGDFSL----SVKYGNDVQHFKVLR--D 113
@@ -110,7 +108,6 @@ UniRef90_Q567F1             --------VGAFLIRGSQSS--PGDFSI----SVRHDYDVQHFKVMK--D 1
 SH2                         GAGKYFLWVVKFNSLNELVDYHRSTSVSR---------------NQQIFL 93
 UniRef90_UPI0000EB201F      GAGKYFLWVVKFNSLNELVDYHRSTSVSR---------------NQQIFL 115
 UniRef90_P62993             GAGKYFLWVVKFNSLNELVDYHRSTSVSR---------------NQQIFL 148
-UniRef90_P62993-2           GAGKYFLWVVKFNSLNELVDYHRSTSVSR---------------NQQIFL 107
 UniRef90_P87379             GAGKYFLWVVKFNSLNELVDYHRSTSVSR---------------NQQIFL 148
 UniRef90_UPI00016E653C      GAGKYFLWVVKFNSLNELVEYHRTTSVSR---------------NQQIFL 148
 UniRef90_UPI00016E653B      GAGKYFLWVVKFNSLNELVEYHRTTSVSR---------------NQQIFL 148
@@ -163,7 +160,6 @@ UniRef90_Q567F1             KSGHYYLWTEKFTSLNKLVDFYKTTSISK---------------QKEIFL 1
 SH2                         RDIEQVP------------------------------------------- 100
 UniRef90_UPI0000EB201F      RDIEQVPQQNSIFSLCQR----TSLTLCSIVSLEASEEENPVVREWSPHS 161
 UniRef90_P62993             RDIEQVP------------------------------------------- 155
-UniRef90_P62993-2           RDIEQVP------------------------------------------- 114
 UniRef90_P87379             RDIEQVPQVHGGDRATS--------------------------------- 165
 UniRef90_UPI00016E653C      REIEQ--------------------------------------------- 153
 UniRef90_UPI00016E653B      REIEQVTQVNVGTHYIN--------------------------------- 165
diff --git a/modules/seq/alg/src/conservation.cc b/modules/seq/alg/src/conservation.cc
index e5a0df71d875a088ae8bd5863e8fa72ef5a8169f..46cb5cfd8fb9d648c0d9b0f0e0ab797093e9cfa2 100644
--- a/modules/seq/alg/src/conservation.cc
+++ b/modules/seq/alg/src/conservation.cc
@@ -82,8 +82,7 @@ float PhysicoChemicalDissim(char c1, char c2)
              -1, 13, 19, 21, 18, 22};
   int idx_a=(c1=='-' || c1<'A' || c1>'Z') ? 20 : indices[c1-'A'];
   int idx_b=(c2=='-' || c2<'A' || c2>'Z') ? 20 : indices[c2-'A'];  
-  assert(idx_a>=0);
-  assert(idx_b>=0);
+
   if (idx_a<0) {
     idx_a=20;
   }
@@ -103,7 +102,7 @@ std::vector<Real> Conservation(const AlignmentHandle& aln, bool assign,
                                const String& prop)
 {
   std::vector<Real> cons(aln.GetLength(), 0.0);
-  int comb=aln.GetCount()*(aln.GetCount()-1)/2;
+  int comb=(aln.GetCount()*(aln.GetCount()-1))/2;
   for (int col=0; col<aln.GetLength(); ++col) {
     float score=0.0;
     AlignedColumn c=aln[col];
@@ -119,6 +118,10 @@ std::vector<Real> Conservation(const AlignmentHandle& aln, bool assign,
         if (c[i]!='-') {
           mol::ResidueView r=c.GetResidue(i);
           if (r.IsValid()) {
+            if (r.GetOneLetterCode()!=c[i]) {
+              std::cout << "WARNING: " << col << " " << c[i] << "!=" 
+                        << r.GetOneLetterCode() << std::endl;
+            }
             r.SetFloatProp(prop, score);
           }
         }