In the noisy population recovery problem of Dvir et al. , the goal is to learn an unknown distribution f on binary strings of length n from noisy samples. A noisy sample with parameter μ ϵ [0,1] is generated by selecting a sample from f, and independently flipping each coordinate of the sample with probability (1-μ)/2. We assume an upper bound k on the size of the support of the distribution, and the goal is to estimate the probability of any string to within some given error ϵ. It is known that the algorithmic complexity and sample complexity of this problem are polynomially related to each other. We describe an algorithm that for each μ > 0, provides the desired estimate of the distribution in time bounded by a polynomial in k, n and 1/ϵ improving upon the previous best result of poly(klog log k, n, 1/ϵ) due to Lovett and Zhang . Our proof combines ideas from  with a noise attenuated version of Möbius inversion. The latter crucially uses the robust local inverse construction of Moitra and Saks .