--- plasma/desktop/applets/kickoff/simpleapplet/simpleapplet.cpp
+++ plasma/desktop/applets/kickoff/simpleapplet/simpleapplet.cpp
@@ -787,4 +787,24 @@
     return d->actions;
 }

+QSizeF MenuLauncherApplet::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
+{
+    if (which == Qt::PreferredSize) {
+       int iconSize;
+
+        switch (formFactor()) {
+        case Plasma::Planar:
+        case Plasma::MediaCenter:
+            iconSize = IconSize(KIconLoader::Desktop);
+            return QSizeF(iconSize, iconSize);
+        case Plasma::Horizontal:
+        case Plasma::Vertical:
+            iconSize = IconSize(KIconLoader::Panel);
+            return QSizeF(iconSize, iconSize);
+        }
+    }
+
+    return Plasma::Applet::sizeHint(which, constraint);
+}
+
 #include "simpleapplet.moc"

--- plasma/desktop/applets/kickoff/simpleapplet/simpleapplet.h
+++ plasma/desktop/applets/kickoff/simpleapplet/simpleapplet.h
@@ -125,6 +125,7 @@
      * Create a configuration dialog.
      */
     void createConfigurationInterface(KConfigDialog *parent);
+    QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const;

 private Q_SLOTS:
        /// Configuration-dialog accepted.

--- plasma/generic/applets/icon/icon.cpp
+++ plasma/generic/applets/icon/icon.cpp
@@ -457,5 +457,25 @@
     }
 }

+QSizeF IconApplet::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
+{
+    if (which == Qt::PreferredSize) {
+       int iconSize;
+
+        switch (formFactor()) {
+        case Plasma::Planar:
+        case Plasma::MediaCenter:
+            iconSize = IconSize(KIconLoader::Desktop);
+            return QSizeF(iconSize, iconSize);
+        case Plasma::Horizontal:
+        case Plasma::Vertical:
+            iconSize = IconSize(KIconLoader::Panel);
+            return QSizeF(iconSize, iconSize);
+        }
+    }
+
+    return Plasma::Applet::sizeHint(which, constraint);
+}
+
 #include "icon.moc"

--- plasma/generic/applets/icon/icon.h
+++ plasma/generic/applets/icon/icon.h
@@ -57,6 +57,7 @@
         void dropEvent(QGraphicsSceneDragDropEvent *event);
         void saveState(KConfigGroup &cg) const;
         void showConfigurationInterface();
+        QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const;

     private slots:
         void acceptedPropertiesDialog();

