A CTE must be followed immediately by a query. Yours is not, it's followed by an IF statement.
The IF needs to go outside of the CTE.
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)SQL In The Wild
: Discussions on DB performance with occasional diversions into recoverability
We walk in the dark places no others will enter
We stand on the bridge and no one may pass