diff --git a/src/filetransfers_window.py b/src/filetransfers_window.py
index 16f9dd083ff1dd654ba2e53937b46f93eda36d56..460aeea968d711137ad2f052948c12cc4f1f370f 100644
--- a/src/filetransfers_window.py
+++ b/src/filetransfers_window.py
@@ -111,7 +111,17 @@ class FileTransfersWindow:
 		col.set_expand(False)
 		self.tree.append_column(col)
 
-		self.set_images()
+		self.images = {}
+		self.icons = {
+			'upload': gtk.STOCK_GO_UP,
+			'download': gtk.STOCK_GO_DOWN,
+			'stop': gtk.STOCK_STOP,
+			'waiting': gtk.STOCK_REFRESH,
+			'pause': gtk.STOCK_MEDIA_PAUSE,
+			'continue': gtk.STOCK_MEDIA_PLAY,
+			'ok': gtk.STOCK_APPLY,
+		}
+
 		self.tree.get_selection().set_mode(gtk.SELECTION_SINGLE)
 		self.tree.get_selection().connect('changed', self.selection_changed)
 		self.tooltip = tooltips.FileTransfersTooltip()
@@ -379,23 +389,9 @@ _('Connection with peer cannot be established.'))
 			on_response_cancel(widget, account, file_props))
 		dialog.popup()
 
-	def set_images(self):
-		''' create pixbufs for status images in transfer rows'''
-		self.images = {}
-		self.images['upload'] = self.window.render_icon(gtk.STOCK_GO_UP, 
-			gtk.ICON_SIZE_MENU)
-		self.images['download'] = self.window.render_icon(gtk.STOCK_GO_DOWN, 
-			gtk.ICON_SIZE_MENU)
-		self.images['stop'] = self.window.render_icon(gtk.STOCK_STOP, 
-			gtk.ICON_SIZE_MENU)
-		self.images['waiting'] = self.window.render_icon(gtk.STOCK_REFRESH, 
-			gtk.ICON_SIZE_MENU)
-		self.images['pause'] = self.window.render_icon(gtk.STOCK_MEDIA_PAUSE, 
-			gtk.ICON_SIZE_MENU)
-		self.images['continue'] = self.window.render_icon(gtk.STOCK_MEDIA_PLAY, 
-			gtk.ICON_SIZE_MENU)
-		self.images['ok'] = self.window.render_icon(gtk.STOCK_APPLY, 
-			gtk.ICON_SIZE_MENU)
+	def get_icon(self, ident):
+		return self.images.setdefault(ident,
+			self.window.render_icon(icons[ident], gtk.ICON_SIZE_MENU))
 
 	def set_status(self, typ, sid, status):
 		''' change the status of a transfer to state 'status' '''
@@ -408,7 +404,7 @@ _('Connection with peer cannot be established.'))
 			file_props['stopped'] = True
 		elif status == 'ok':
 			file_props['completed'] = True
-		self.model.set(iter, C_IMAGE, self.images[status])
+		self.model.set(iter, C_IMAGE, self.get_icon(status))
 		path = self.model.get_path(iter)
 		self.select_func(path)
 
@@ -542,7 +538,7 @@ _('Connection with peer cannot be established.'))
 				status = 'waiting'
 			if 'connected' in file_props and file_props['connected'] == False:
 				status = 'stop'
-			self.model.set(iter_, 0, self.images[status])
+			self.model.set(iter_, 0, self.get_icon(status))
 			if transfered_size == full_size:
 				self.set_status(typ, sid, 'ok')
 			elif just_began: