diff --git a/modules/mol/alg/pymod/ligand_scoring.py b/modules/mol/alg/pymod/ligand_scoring.py
index 5238518cf7780037cfbedeeb7019216c8e06d519..d4b5c7bd753cea36febb010594494394654adc83 100644
--- a/modules/mol/alg/pymod/ligand_scoring.py
+++ b/modules/mol/alg/pymod/ligand_scoring.py
@@ -481,9 +481,25 @@ class LigandScorer:
                         LogDebug("lDDT-PLI for symmetry %d: %.4f" % (i, global_lddt))
 
                         # Save results?
-                        if not lddt_pli_full_matrix[target_i, model_i] or \
-                                global_lddt > lddt_pli_full_matrix[
-                            target_i, model_i]["lddt_pli"] :
+
+                        if not lddt_pli_full_matrix[target_i, model_i]:
+                            # First iteration
+                            save_lddt = True
+                        else:
+                            last_best_lddt = lddt_pli_full_matrix[
+                                target_i, model_i]["lddt_pli"]
+                            last_best_rmsd = lddt_pli_full_matrix[
+                                target_i, model_i]["rmsd"]
+                            if global_lddt > last_best_lddt:
+                                # Better lDDT-PLI
+                                save_lddt = True
+                            elif global_lddt == last_best_lddt and \
+                                    rmsd < last_best_rmsd:
+                                # Same lDDT-PLI, better RMSD
+                                save_lddt = True
+                            else:
+                                save_lddt = False
+                        if save_lddt:
                             lddt_pli_full_matrix[target_i, model_i] = {
                                 "lddt_pli": global_lddt,
                                 "lddt_pli_n_contacts": lddt_tot,