diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index be4c5a51f1360041cfdee269f3ef46a4604ba597..8be8efbb4176e777e596ed5bf1fff9d6bdadd323 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2019-11-14  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
+
+	* python/py-finishbreakpoint.c (gdbpy_breakpoint_created):
+	only call Py_INCREF (newbp) in the bppy_pending_object case.
+
 2019-11-13  Tom Tromey  <tromey@adacore.com>
 
 	PR build/25182:
diff --git a/gdb/python/py-breakpoint.c b/gdb/python/py-breakpoint.c
index 65cb29fdca63417d6f4610ba17c6b98121aeed17..4170737416cab30a2e4181104d102fb0c20a9001 100644
--- a/gdb/python/py-breakpoint.c
+++ b/gdb/python/py-breakpoint.c
@@ -1017,6 +1017,7 @@ gdbpy_breakpoint_created (struct breakpoint *bp)
   if (bppy_pending_object)
     {
       newbp = bppy_pending_object;
+      Py_INCREF (newbp);
       bppy_pending_object = NULL;
     }
   else
@@ -1027,7 +1028,6 @@ gdbpy_breakpoint_created (struct breakpoint *bp)
       newbp->bp = bp;
       newbp->bp->py_bp_object = newbp;
       newbp->is_finish_bp = 0;
-      Py_INCREF (newbp);
       ++bppy_live;
     }
   else