diff --git a/fem/bilinearform.cpp b/fem/bilinearform.cpp index 1aec3960b5..5dd7f08244 100644 --- a/fem/bilinearform.cpp +++ b/fem/bilinearform.cpp @@ -467,8 +467,17 @@ void BilinearForm::Assemble(int skip_zeros) const FiniteElement &be = *fes->GetBE(i); fes -> GetBdrElementVDofs (i, vdofs); eltrans = fes -> GetBdrElementTransformation (i); - bbfi[0]->AssembleElementMatrix(be, *eltrans, elmat); - for (int k = 1; k < bbfi.Size(); k++) + int k = 0; + for (; k < bbfi.Size(); k++) + { + if (bbfi_marker[k] && + (*bbfi_marker[k])[bdr_attr-1] == 0) { continue; } + + bbfi[k]->AssembleElementMatrix(be, *eltrans, elmat); + k++; + break; + } + for (; k < bbfi.Size(); k++) { if (bbfi_marker[k] && (*bbfi_marker[k])[bdr_attr-1] == 0) { continue; }