We consider the nonlinear heat equation $u_t = Delta u + |u|^alpha u$ with $alpha >0$, either on ${mathbb R}^N $, $Nge 1$, or on a bounded domain with Dirichlet boundary conditions. We prove that in the Sobolev subcritical case $(N-2) alpha <4$, for every $mu in {mathbb R}$, if the initial value $u_0$ satisfies $u_0 (x) = mu |x-x_0|^{-frac {2} {alpha }}$ in a neighborhood of some $x_0in Omega $ and is bounded outside that neighborhood, then there exist infinitely many solutions of the heat equation with the initial condition $u(0)= u_0$. The proof uses a fixed-point argument to construct perturbations of self-similar solutions with initial value $mu |x-x_0|^{-frac {2} {alpha }}$ on ${mathbb R}^N $. Moreover, if $mu ge mu _0$ for a certain $ mu _0( N, alpha )ge 0$, and $u_0 Ige 0$, then there is no nonnegative local solution of the heat equation with the initial condition $u(0)= u_0$, but there are infinitely many sign-changing solutions.