The problem is that $this-&gt;getProduct() returns null.
Usually there is no product instance associated to the list block. 
Most probably, the line you posted in the question is called in a foreach loop.
I think it's something like this:

&lt;?php foreach ($_productCollection as $_product): ?&gt;
    ....
   &lt;?php
   echo '&lt;a data-id="' . $_product-&gt;getId() . '" data-url="' . $this-&gt;helper('catalog/image')-&gt;init($this-&gt;getProduct(), 'thumbnail', $image-&gt;getFile())-&gt;resize(157) . '" class="hoveroverimagethumb ' . $_product-&gt;getId() . '-' . $imgi . '" href="' . $_product-&gt;getProductUrl() . '" title="' . $this-&gt;stripTags($this-&gt;getImageLabel($_product, 'small_image'), null, true) .'"&gt;&lt;img width="48" height="48" src="' . $this-&gt;helper('catalog/image')-&gt;init($this-&gt;getProduct(), 'thumbnail', $image-&gt;getFile())-&gt;resize(157) . '"/&gt;&lt;/a&gt;';
   ....
   ?&gt;
&lt;?php endforeach;?&gt;


You need to replace $this-&gt;getProduct() with $_product.

System log giving Recoverable Error: Argument 1 passed to Mage_Catalog_Helper_Image
I have noticed a certain pattern in a wireless network. It goes something like this:


All mobile devices (Android and iOS) take the subnet 10.8.5.x.
All laptops (Windows and Linux) take the subnet 10.8.3.x.


It might be pure coincidence, but I like to believe there is something else going on. If such mechanism on the router (i.e. providing different ip subnets to different device types) exists, how is it called? And how is the router able to distinguish between the different device types, isn't the MAC address everything it gets from the device?

Thanks in advance.
