Por que minha associação à esquerda não retorna nulos?

No sql server 2008, tenho a seguinte consulta:

select      
    c.title as categorytitle,
    s.title as subcategorytitle,
    i.title as itemtitle
from categories c
join subcategories s on c.categoryid = s.categoryid
left join itemcategories ic on s.subcategoryid = ic.subcategoryid 
left join items i on ic.itemid = i.itemid and i.siteid = 132
where (ic.isactive = 1 or ic.isactive is null)
order by c.title, s.title

Estou tentando obter itens em suas subcategorias, mas ainda quero retornar um registro se não houver itens na categoria ou subcategoria. Subcategorias que não possuem itens nunca são retornadas. O que estou fazendo errado?

Obrigado

EDITAR

Consulta modificada com uma segunda junção esquerda e cláusula where, mas ainda não está retornando nulos. : /

EDIT 2

ID do site movido para o item deixado à esquerda. Quando faço isso, recebo muito mais registros do que o esperado. Alguns itens têm um ID do site nulo e só quero incluí-los quando tiverem um ID específico.

EDIT 3

Estrutura da tabela:

Categories Table 
-------
CategoryID
Title

SubCategories Table
-------
SubCategoryID
CategoryID
Title

ItemCategories Table
-------
ItemCategoryID
ItemID
SubCategoryID
IsActive

Items Table 
--------
ItemID
Title
SiteID

questionAnswers(5)

yourAnswerToTheQuestion