Index: icons/kiconloader.cpp
===================================================================
--- icons/kiconloader.cpp	(revision 750617)
+++ icons/kiconloader.cpp	(working copy)
@@ -847,6 +847,7 @@
     QString name = _name;
     QString path;
     QPixmap pix;
+    bool unknownIcon = false;
     bool absolutePath = false;
     bool favIconOverlay = false;
 
@@ -889,6 +890,10 @@
                         iconPath(name, KIconLoader::User, canReturnNull);
         if (path.isEmpty())
         {
+            if (!canReturnNull) {
+                kWarning(264) << "No such icon" << _name;
+                unknownIcon = true;
+            }
             if (canReturnNull)
                 return pix;
             // We don't know the desired size: use small
@@ -910,7 +915,8 @@
 
         pix = QPixmap::fromImage(img);
         d->drawOverlays(this, KIconLoader::Desktop, state, pix, overlays);
-        d->mIconCache->insert(key, pix, path);
+        if (!unknownIcon)
+            d->mIconCache->insert(key, pix, path);
         return pix;
     }
 
@@ -1008,6 +1014,8 @@
                     return pix;
                 }
 
+                kWarning(264) << "No such icon" << _name;
+                unknownIcon = true;
                 icon = d->findMatchingIcon(str_unknown, size);
                 if (!icon.isValid())
                 {
@@ -1132,7 +1140,8 @@
 
     delete img;
 
-    d->mIconCache->insert(key, pix, path);
+    if (!unknownIcon)
+        d->mIconCache->insert(key, pix, path);
     return pix;
 }
 
