Hello Mark, Thank you very much for your code. I ended with the following code: property file_1 : "" property runtime : 0 property firsttime : "yes" -- I added this line on idle if runtime < (current date) - 5 * minutes then set file_1 to "" quit end if return 1 end idle on open (droppedItemsList) set runtime to current date if (number of droppedItemsList) ≥ 3 then display dialog "This droplet accepts two files." return quit -- I added "quit" here; the script quits immediately after this dialogue else if (number of droppedItemsList) = 1 then if firsttime = "yes" then -- I added this "if... end if" for another dialogue display dialog "Please drop another file..." set firsttime to "no" end if if file_1 = "" then set file_1 to first item of (droppedItemsList) set file_1 to POSIX path of file_1 return else set file_2 to first item of (droppedItemsList) set file_2 to POSIX path of file_2 end if else if (number of droppedItemsList) = 2 then set file_1 to first item of (droppedItemsList) set file_1 to POSIX path of file_1 set file_2 to second item of (droppedItemsList) set file_2 to POSIX path of file_2 end if if file_1 = file_2 then display dialog "You have chosen the same file. Quitting..." return end if display dialog file_1 & return & " compared with " & return & file_2 set file_1 to "" set firsttime to "yes" -- I added this line to restore the value of "firsttime" quit end open One thing that I don't understand well in this is the meaning and the use of "quit". Could you please explain this? Thank you very much in advance. Best regard, Nobumi Iyanaga Tokyo, Japan