Sometimes the 3NF decomposition algorithm generates redundant relations, where all attributes of some R_i already appear in another R_j. The algorithm is supposed to delete such redundant relations.

I read several descriptions of the BCNF decomposition algorithm and none of them mention a similar situation, which let me think that it never occurs for BCNF.

However I stumbled upon this example: consider R(A,B,C,D) and the set of functional dependencies F = {A→B; B→C; B→D}. R is not in BCNF because e.g BC→D is a consequence of F and BC is not a superkey. If we choose to decompose R using BC→D we obtain R1(BCD) and R2(ABC). The relation R1 is in BCNF, but R2 is not because e.g we have B→C and B is not a superkey. If we decompose R2 using B→C, we obtain R3(BC) and R4(AB). Finally we obtain a BCNF decomposition of R as R1(BCD),R3(BC) and R4(AB). But all attributes of R3 already appear in R1, therefore it would be preferable to delete R3.

Did I apply the BCNF algorithm incorrectly, or should one add this final deletion step to the algorithm ?