Index: meld-1.6.0/meld/dirdiff.py
===================================================================
--- meld-1.6.0.orig/meld/dirdiff.py	2012-07-25 02:15:43.967965267 +0200
+++ meld-1.6.0/meld/dirdiff.py	2012-07-25 02:23:16.532106872 +0200
@@ -555,7 +555,9 @@
             # If STATE_NORMAL not in state_filters: dirs that exist and are a dir in all panes
             # are also added to all_dirs, so they can be compared. They may be removed later.
             alldirs = self._filter_on_state(roots, dirs.get())
-            allfiles = self._filter_on_state(roots, files.get())
+            # BUG FIX: if "roots[0]/s" == file and "roots[1]/s" == dir, put s only in alldirs, not in both
+            alldirs_set = set(alldirs)   # use set for efficiency
+            allfiles = [s for s in self._filter_on_state(roots, files.get()) if s not in alldirs_set]
 
             # then directories and files
             if len(alldirs) + len(allfiles) != 0:
