diff --git a/modules/bindings/pymod/clustalw.py b/modules/bindings/pymod/clustalw.py
index 87d092ab3da1f908d6c13b72eb57785fea6e1b1c..c0eff2a915dae945458592e29b52dad38fb48e2b 100644
--- a/modules/bindings/pymod/clustalw.py
+++ b/modules/bindings/pymod/clustalw.py
@@ -70,7 +70,10 @@ def ClustalW(seq1, seq2=None, clustalw=None, keep_files=False, nopgap=False,
 
   new_list = seq.CreateSequenceList()
   for s in seq_list:
-    ss = seq.CreateSequence( s.GetName(), s.GetString().replace('?','X') )
+    ss = s.Copy()
+    for i,c in enumerate(ss):
+      if c=='?':
+        ss[i]='X'
     new_list.AddSequence(ss)
 
   seq_list = new_list