Powszechnym obejściem jest dodanie nadmiarowych bitów „znaczników” do rozważanej wielkości. Na przykład algorytm stosujący compare-and-swap na wskaźnikach może stosować najmniej znaczące bity adresu do wskazywania, ile razy dany wskaźnik był pomyślnie zmieniony. Dzięki temu następne wywołanie compare-and-swap się nie powiedzie, nawet jeśli adres jest taki sam, ponieważ bity znaczników będą różne. To nie rozwiązuje problemu całkowicie, ponieważ bity znaczników się przepełniają i kontynuują zliczanie od nowa, lecz taki mechanizm pomaga unikać problemu. W niektórych architekturach dostępne są instrukcje CAS o zwiększonej (podwójnej) pojemności, pozwalającej na wielkie znaczniki. Nazywa się to czasami ABA' ponieważ drugie utworzone A jest nieco inne niż pierwsze.

Poprawnym, lecz drogim sposobem jest używanie węzłów pośrednich, które nie są elementami danych, dzięki czemu są niezmiennikami w trakcie wstawiania lub usuwania elementów [Valois].

Innym podejściem jest odraczanie przywracania zwolnionej pamięci.