SPARQL INSERT BNode Bug

I ran into an issue when trying to insert some reification statements with new Blank Nodes.
Minimal test case below:

test:

This will create one BNode with 3 outgoing :a edges and 3 outgoing :b edges.

INSERT {
  ?bn :a ?a; :b ?b .
} WHERE {
  BIND(Bnode() AS ?bn)
  VALUES (?a ?b) {(1 "a") (2 "b") (3 "c")}
}

This will create 6 ?!? BNodes with 1 :a and 1 :b edge each:

INSERT {
  ?bn :a ?a; :b ?b .
} WHERE {
  VALUES (?a ?b) {(1 "a") (2 "b") (3 "c")}
  BIND(Bnode() AS ?bn)
}

Expected i think are 3 BNodes being created by the second query.

test on fuseki:

Fuseki seems to support that:

This creates 1 BNode with 3 outgoing :a and 3 :b edges:

PREFIX : <http://example.com/>
INSERT {
  ?bn :a ?a; :b ?b .
} WHERE {
  BIND(Bnode() AS ?bn)
  VALUES (?a ?b) {(1 "a") (2 "b") (3 "c")}
}

This will create 3 BNodes as expected with 1 :a and one :b edge each.

PREFIX : <http://example.com/>
INSERT {
  ?bn :a ?a; :b ?b .
} WHERE {
  VALUES (?a ?b) {(1 "a") (2 "b") (3 "c")}
  BIND(Bnode() AS ?bn)
}

hmm, actually trying to reproduce this again, it only produced 3 BNodes...
not sure if not deterministic or if i didn't fully reset the db...

Yeah, we couldn’t immediately reproduce it either (with 5.0.5.1).

Let us know if you hit it again,
Pavel