There is nothing wrong with the code that you posted that I can see. The issue could be the context that your code is running in. What is happening before the code you posted? Are you doing a custom query and loop on the results of that query?
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users