diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c
index 387362a59a2de3b77e51301439e00b5e294600cb..717ad798772a85c7d05c59281ee47ca2f05490af 100644
--- a/src/pl/plpgsql/src/pl_exec.c
+++ b/src/pl/plpgsql/src/pl_exec.c
@@ -5850,8 +5850,7 @@ exec_simple_recheck_plan(PLpgSQL_expr *expr, CachedPlan *cplan)
 }
 
 /* ----------
- * exec_set_found			Set the global found variable
- *					to true/false
+ * exec_set_found			Set the global found variable to true/false
  * ----------
  */
 static void
@@ -5860,7 +5859,7 @@ exec_set_found(PLpgSQL_execstate *estate, bool state)
 	PLpgSQL_var *var;
 
 	var = (PLpgSQL_var *) (estate->datums[estate->found_varno]);
-	var->value = PointerGetDatum(state);
+	var->value = BoolGetDatum(state);
 	var->isnull = false;
 }