diff --git a/pitivi/factories/file.py b/pitivi/factories/file.py
index 6d8fed9..366505a 100644
--- a/pitivi/factories/file.py
+++ b/pitivi/factories/file.py
@@ -21,15 +21,32 @@
 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 # Boston, MA 02111-1307, USA.
 
+from gettext import gettext as _
 import gst
 import os
 
 from pitivi.factories.base import RandomAccessSourceFactory, \
         SinkFactory
+import pitivi.instance as instance
 from pitivi.elements.imagefreeze import ImageFreeze
+from pitivi.settings import GlobalSettings
 from pitivi.stream import MultimediaStream, AudioStream, VideoStream
+from pitivi.ui.prefs import PreferencesDialog
 from pitivi.utils import formatPercent
 
+GlobalSettings.addConfigSection("pictures")
+GlobalSettings.addConfigOption("pictureDuration",
+                               section="pictures",
+                               key="picture-duration",
+                               default=250,
+                               notify=True)
+
+PreferencesDialog.addNumericPreference("pictureDuration",
+                                       section=_("Behavior"),
+                                       label=_("Default duration of images (ms)"),
+                                       lower=15,
+                                       description=_("The length of a clip created from an image file."))
+
 class FileSourceFactory(RandomAccessSourceFactory):
     """
     Factory for local files.
@@ -63,11 +80,25 @@ class PictureFileSourceFactory(FileSourceFactory):
     """
 
     duration = 3600 * gst.SECOND
-    default_duration = 5 * gst.SECOND
+
+    def _getDefaultDuration(self):
+        return float(self.default_duration_ms) / 1000 * gst.SECOND
+
+    default_duration = property(_getDefaultDuration)
 
     # make this overridable in tests
     ffscale_factory = 'ffvideoscale'
 
+    def __init__(self, *args, **kwargs):
+        FileSourceFactory.__init__(self, *args, **kwargs)
+        self._settings = instance.PiTiVi.settings
+        self.default_duration_ms = self._settings.pictureDuration
+        self._settings.connect('pictureDurationChanged',
+            self._pictureDurationChanged)
+
+    def _pictureDurationChanged(self, settings):
+        self.default_duration_ms = settings.pictureDuration
+
     def _makeDefaultBin(self):
         return self._makeStreamBin(self.output_streams[0])
 
