My course notes say that normal ordering is defined as
$$:A: \;\; = A - \left< 0\right| A \left| 0\right>.\tag{1}$$
This works for $A = aa^\dagger$ and all already normal ordered expressions.
When $A = a a^\dagger a$, though, or anything that is not normal ordered but has at least one annihilation operator furthest right, the second term is immediately $0$ and the expression returned is simply $A$, which is not normal ordered in this case.
$$ \begin{align*} :aa^\dagger a: \; \; &= a a^\dagger a - \left<0\right| a a^\dagger a \left| 0 \right> \\ &= a a^\dagger a - 0 \\ &= a a^\dagger a \end{align*}\tag{2} $$
$A = a a^\dagger a^\dagger$ also doesn't work.
Have I misunderstood something, or are my notes incorrect?