I think position should be None, not 0. This function (seems to) be called regardless of wether a user has specified B.C.'s or not in the frame initializer, and if they didn't specify B.C.'s, we shouldn't be making them. Or am I reading this wrong (quite possible...)?