if {[string match {mode *} $line]
                        || [string match {new file *} $line]
+                       || [regexp {^(old|new) mode *} $line]
                        || [string match {deleted file *} $line]
                        || [string match {deleted symlink} $line]
                        || [string match {Binary files * and * differ} $line]
        display_file $current_diff_path $mi
        if {$o eq {_}} {
                clear_diff
+       } else {
+               set current_diff_path $current_diff_path
        }
 }