Variable-to-fixed (VF) codes are often based on dictionaries that obey the prefix-free property; e.g., the Tunstall codes. However, correct VF codes need not be prefix free. Removing that constraint may offer the opportunity to build more efficient codes. Here, we come back to the almost instantaneous VF codes introduced by Yamamoto and Yokoo. They considered both single trees and multiple trees to perform the parsing of the source string. We show that, in some cases, their technique builds suboptimal codes. We propose correctives accordingly. We also propose a new, completely different technique based on dynamic programming that builds individually optimal dictionary trees.