anchor.diff:     END IF
   
      CALL AllocAry(PhiRb,  nL, nR, 'PhiRb',   ErrStat2, ErrMsg2 ); CALL SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName)
  -   PhiRb=CB%PhiR ! Remove me in the future
  +   if(.not.BC_Before_CB) then
  +      ! We apply the BC now, removing unwanted DOFs
  +      call applyConstr(CB, FGB, PhiRb)
  +   else
  +      PhiRb=CB%PhiR ! Remove me in the future
  +   endif
      ! TODO, right now using PhiRb instead of CB%PhiR, keeping PhiR in harmony with OmegaL for SummaryFile
      CALL SetParameters(Init, p, CB%MBB, CB%MBM, CB%KBB, PhiRb, CB%OmegaL, CB%PhiL, FGL, FGB, FGM, ErrStat2, ErrMsg2)  
      CALL SetErrStat(ErrStat2,ErrMsg2,ErrStat,ErrMsg,'Craig_Bampton')
  
positive.code:       IF(ALLOCATED(FGB)  ) DEALLOCATE(FGB) 
        IF(ALLOCATED(PhiRb)) DEALLOCATE(PhiRb) 
     end subroutine CleanUpCB
  
  END SUBROUTINE SD_Craig_Bampton 
  
  
negative.code:    ENDIF  
     nL = p%nDOF__L
     nM = p%nDOFM
  
     CALL WrScr('   Performing Craig-Bampton reduction '//trim(Num2LStr(p%nDOF_red))//' DOFs -> '//trim(Num2LStr(p%nDOFM))//' modes + '//trim(Num2LStr(p%nDOF__Rb))//' DOFs')
     CALL AllocAry( FGL,       nL,        'array FGL', ErrStat2, ErrMsg2 ); CALL SetErrStat(ErrStat2, ErrMsg2, ErrStat, ErrMsg, RoutineName)  
  