Hello, I an mot sure if this is a bug or "feature".
1. emacs -Q <RET> (using emacs-28.0.50, org-version 9.3) 2. C-x C-f test.org <RET> (new file) 3. Enter * Test <RET> (A new heading is created with name Test) 4. M-x org-id-get-create <RET> 5. M-x org-id-update-id-locations <RET> Echo buffer: "1 files scanned, 1 files contains IDs and in total 1 IDs found." The id is created in ~/.emacs.d/.org-id-locations as expected. 5. Visit test.org again and delete the properties, including the ID. 6. Save the file 7. M-x org-id-update-id-locations <RET> Echo buffer: "1 files scanned, 0 files contains IDs and in total 0 IDs found." However, the file ~/.emacs.d/.org-id-locations still contains the ID and does not read nil as I would have expected. The ID is only removed when emacs is closed and then the file ~/.emacs.d/.org-id-locations reads nil. Best wishes, Colin Baxter.