diff --git a/modules/seq/alg/tests/CMakeLists.txt b/modules/seq/alg/tests/CMakeLists.txt
index 81b69d15f81565dbee47ddfa00ef38e3f2219b97..9348d402b69025862766b5f94ac0a85866b3bc90 100644
--- a/modules/seq/alg/tests/CMakeLists.txt
+++ b/modules/seq/alg/tests/CMakeLists.txt
@@ -8,6 +8,7 @@ set(OST_SEQ_ALG_UNIT_TESTS
   test_global_align.py
   test_semiglobal_align.py
   test_weight_matrix.py
+  test_alignment_from_chain_view.py
 )
 
 if (COMPOUND_LIB)
diff --git a/modules/seq/alg/tests/test_alignment_from_chain_view.py b/modules/seq/alg/tests/test_alignment_from_chain_view.py
new file mode 100644
index 0000000000000000000000000000000000000000..0e6b183265822431a4c95a8129f403b231b69456
--- /dev/null
+++ b/modules/seq/alg/tests/test_alignment_from_chain_view.py
@@ -0,0 +1,36 @@
+import unittest
+import os
+import ost
+from ost import seq, io, mol
+
+class TestAlignmentFromChainView(unittest.TestCase):
+
+  def testAlignment(self):
+
+    prot = io.LoadPDB(os.path.join("testfiles", "dummy.pdb"))
+    view_resnums = [2,3,4,7,8]
+    query = "rnum=" + ','.join([str(item) for item in view_resnums])
+    prot_view = prot.Select(query)
+
+    exp_handle_seq = ''.join([r.one_letter_code for r in prot.residues])
+
+    exp_view_seq = ['-'] * len(prot.residues)
+    for rnum in view_resnums:
+      exp_view_seq[rnum-1] = prot.residues[rnum-1].one_letter_code
+    exp_view_seq = ''.join(exp_view_seq)
+
+    aln = seq.alg.AlignmentFromChainView(prot_view.chains[0], 
+                                         handle_seq_name='custom_handle_name',
+                                         view_seq_name='custom_view_name')
+
+    handle_seq = aln.GetSequence(0)
+    view_seq = aln.GetSequence(1)
+
+    self.assertEqual(handle_seq.GetName(), 'custom_handle_name')
+    self.assertEqual(view_seq.GetName(), 'custom_view_name')
+    self.assertEqual(exp_handle_seq, handle_seq.GetString())
+    self.assertEqual(exp_view_seq, view_seq.GetString())
+
+if __name__ == "__main__":
+  from ost import testutils
+  testutils.RunTests()