diff --git a/src/main/scala/leon/synthesis/rules/CEGISLike.scala b/src/main/scala/leon/synthesis/rules/CEGISLike.scala
index 9db05c70ef67cc432b5d26c7cd221bf0b85dd6a5..908ff0e10e1f2054d44c3a0e33ce1929e43355f7 100644
--- a/src/main/scala/leon/synthesis/rules/CEGISLike.scala
+++ b/src/main/scala/leon/synthesis/rules/CEGISLike.scala
@@ -143,8 +143,10 @@ abstract class CEGISLike[T <% Typed](name: String) extends Rule(name) {
        */
       def allPrograms(): Traversable[Set[Identifier]] = {
 
-        if (allProgramsCount() > nProgramsLimit) {
-           return Seq()
+        val allCount = allProgramsCount()
+        if (allCount > nProgramsLimit) {
+          ctx.reporter.debug(s"Exceeded program limit: $allCount > $nProgramsLimit")
+          return Seq()
         }
 
         var cache = Map[Identifier, Seq[Set[Identifier]]]()