diff --git a/data/totem.ui b/data/totem.ui
index dfcbaa6..85e9024 100644
--- a/data/totem.ui
+++ b/data/totem.ui
@@ -651,6 +651,24 @@
   <property name="value">32767</property>
 </object>
 
+<object class="GtkAdjustment" id="tpw_forwardseekstep_adjustment">
+  <property name="lower">1</property>
+  <property name="upper">120</property>
+  <property name="step-increment">12</property>
+  <property name="page-increment">24</property>
+  <property name="page-size">3</property>
+  <property name="value">60</property>
+</object>
+
+<object class="GtkAdjustment" id="tpw_backwardseekstep_adjustment">
+  <property name="lower">1</property>
+  <property name="upper">120</property>
+  <property name="step-increment">12</property>
+  <property name="page-increment">24</property>
+  <property name="page-size">3</property>
+  <property name="value">15</property>
+</object>
+
 <object class="GtkAdjustment" id="tmw_seek_adjustment">
   <property name="lower">0</property>
   <property name="upper">65535</property>
@@ -765,6 +783,153 @@
 		    </packing>
 		  </child>
 
+          <child>
+			<object class="GtkTable" id="seektable">
+			  <property name="visible">True</property>
+			  <property name="n_rows">3</property>
+			  <property name="n_columns">2</property>
+			  <property name="homogeneous">False</property>
+			  <property name="row_spacing">6</property>
+			  <property name="column_spacing">12</property>
+
+			  <child>
+			    <object class="GtkLabel" id="tpw_forwardseekstep_label">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">_ForwardSeekstep:</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="mnemonic_widget">tpw_forwardseekstep_scale</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </object>
+			    <packing>
+			      <property name="left_attach">0</property>
+			      <property name="right_attach">1</property>
+			      <property name="top_attach">0</property>
+			      <property name="bottom_attach">1</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options"/>
+			    </packing>
+			  </child>
+			  
+              <child>
+			    <object class="GtkLabel" id="tpw_backwardseekstep_label">
+			      <property name="visible">True</property>
+			      <property name="label" translatable="yes">_BackwardSeekstep:</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_LEFT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">0</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="mnemonic_widget">tpw_backwardseekstep_scale</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			    </object>
+			    <packing>
+			      <property name="left_attach">0</property>
+			      <property name="right_attach">1</property>
+			      <property name="top_attach">1</property>
+			      <property name="bottom_attach">2</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options"/>
+			    </packing>
+			  </child>
+
+              <child>
+			    <object class="GtkHScale" id="tpw_forwardseekstep_scale">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="draw_value">False</property>
+			      <property name="value_pos">GTK_POS_TOP</property>
+			      <property name="digits">1</property>
+			      <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
+			      <property name="inverted">False</property>
+			      <property name="adjustment">tpw_forwardseekstep_adjustment</property>
+			      <signal name="value-changed" handler="forward_seekstep_changed"/>
+			    </object>
+			    <packing>
+			      <property name="left_attach">1</property>
+			      <property name="right_attach">2</property>
+			      <property name="top_attach">0</property>
+			      <property name="bottom_attach">1</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options">fill</property>
+			    </packing>
+			  </child>
+              
+              <child>
+			    <object class="GtkHScale" id="tpw_backwardseekstep_scale">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="draw_value">False</property>
+			      <property name="value_pos">GTK_POS_TOP</property>
+			      <property name="digits">1</property>
+			      <property name="update_policy">GTK_UPDATE_CONTINUOUS</property>
+			      <property name="inverted">False</property>
+			      <property name="adjustment">tpw_backwardseekstep_adjustment</property>
+			      <signal name="value-changed" handler="backward_seekstep_changed"/>
+			    </object>
+			    <packing>
+			      <property name="left_attach">1</property>
+			      <property name="right_attach">2</property>
+			      <property name="top_attach">1</property>
+			      <property name="bottom_attach">2</property>
+			      <property name="x_options">fill</property>
+			      <property name="y_options">fill</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <object class="GtkHButtonBox" id="seekhbox">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">0</property>
+			      <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+			      <child>
+				<object class="GtkButton" id="tpw_seekstep_reset">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="label" translatable="yes">Reset to _Defaults</property>
+				  <property name="use_underline">True</property>
+				  <property name="relief">GTK_RELIEF_NORMAL</property>
+				  <property name="focus_on_click">True</property>
+				  <signal name="clicked" handler="tpw_seekstep_reset_clicked_cb"/>
+				</object>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+			    </object>
+			    <packing>
+			      <property name="left_attach">1</property>
+			      <property name="right_attach">2</property>
+			      <property name="top_attach">2</property>
+			      <property name="bottom_attach">3</property>
+			      <property name="x_options">shrink|fill</property>
+			    </packing>
+			  </child>
+            </object>
+          </child>
+
+
 		  <child>
 		    <object class="GtkAlignment" id="alignment2">
 		      <property name="visible">True</property>
@@ -1782,7 +1947,7 @@
 			      <property name="y_options">fill</property>
 			    </packing>
 			  </child>
-
+			  
 			  <child>
 			    <object class="GtkHButtonBox" id="hbox23">
 			      <property name="visible">True</property>
diff --git a/src/totem-object.c b/src/totem-object.c
index 6955244..ac890e3 100644
--- a/src/totem-object.c
+++ b/src/totem-object.c
@@ -96,6 +96,9 @@ static const GtkTargetEntry target_table[] = {
 	{ (gchar*) "_NETSCAPE_URL", 0, 1 }
 };
 
+gdouble forward_seekstep = SEEK_FORWARD_OFFSET;
+gdouble backward_seekstep = SEEK_BACKWARD_OFFSET;
+
 static gboolean totem_action_open_files_list (Totem *totem, GSList *list);
 static gboolean totem_action_load_media (Totem *totem, TotemDiscMediaType type, const char *device);
 static void update_buttons (Totem *totem);
@@ -3519,14 +3522,14 @@ totem_action_handle_seek (Totem *totem, GdkEventKey *event, gboolean is_forward)
 		else if (event->state & GDK_CONTROL_MASK)
 			totem_action_seek_relative (totem, SEEK_FORWARD_LONG_OFFSET * 1000, FALSE);
 		else
-			totem_action_seek_relative (totem, SEEK_FORWARD_OFFSET * 1000, FALSE);
+			totem_action_seek_relative (totem, forward_seekstep * 1000, FALSE);
 	} else {
 		if (event->state & GDK_SHIFT_MASK)
 			totem_action_seek_relative (totem, SEEK_BACKWARD_SHORT_OFFSET * 1000, FALSE);
 		else if (event->state & GDK_CONTROL_MASK)
 			totem_action_seek_relative (totem, SEEK_BACKWARD_LONG_OFFSET * 1000, FALSE);
 		else
-			totem_action_seek_relative (totem, SEEK_BACKWARD_OFFSET * 1000, FALSE);
+			totem_action_seek_relative (totem, backward_seekstep * 1000, FALSE);
 	}
 }
 
diff --git a/src/totem-preferences.c b/src/totem-preferences.c
index 8dbae16..fdb450a 100644
--- a/src/totem-preferences.c
+++ b/src/totem-preferences.c
@@ -57,13 +57,19 @@ G_MODULE_EXPORT void brightness_changed (GtkRange *range, Totem *totem);
 G_MODULE_EXPORT void contrast_changed (GtkRange *range, Totem *totem);
 G_MODULE_EXPORT void saturation_changed (GtkRange *range, Totem *totem);
 G_MODULE_EXPORT void hue_changed (GtkRange *range, Totem *totem);
+G_MODULE_EXPORT void forward_seekstep_changed (GtkRange *range, Totem *totem);
+G_MODULE_EXPORT void backward_seekstep_changed (GtkRange *range, Totem *totem);
 G_MODULE_EXPORT void tpw_color_reset_clicked_cb (GtkButton *button, Totem *totem);
+G_MODULE_EXPORT void tpw_seekstep_reset_clicked_cb (GtkButton *button, Totem *totem);
 G_MODULE_EXPORT void audio_out_menu_changed (GtkComboBox *combobox, Totem *totem);
 G_MODULE_EXPORT void font_set_cb (GtkFontButton * fb, Totem * totem);
 G_MODULE_EXPORT void encoding_set_cb (GtkComboBox *cb, Totem *totem);
 G_MODULE_EXPORT void font_changed_cb (GConfClient *client, guint cnxn_id, GConfEntry *entry, Totem *totem);
 G_MODULE_EXPORT void encoding_changed_cb (GConfClient *client, guint cnxn_id, GConfEntry *entry, Totem *totem);
 
+extern gdouble forward_seekstep;
+extern gdouble backward_seekstep;
+
 static void
 totem_action_info (char *reason, Totem *totem)
 {
@@ -441,6 +447,20 @@ hue_changed (GtkRange *range, Totem *totem)
 }
 
 void
+forward_seekstep_changed (GtkRange *range, Totem *totem)
+{
+	forward_seekstep = gtk_range_get_value (range);
+    printf("forward seekstep: %g\n", forward_seekstep);
+}
+
+void
+backward_seekstep_changed (GtkRange *range, Totem *totem)
+{
+	backward_seekstep = -gtk_range_get_value (range);
+    printf("backward seekstep: %g\n", backward_seekstep);
+}
+
+void
 tpw_color_reset_clicked_cb (GtkButton *button, Totem *totem)
 {
 	guint i;
@@ -459,6 +479,18 @@ tpw_color_reset_clicked_cb (GtkButton *button, Totem *totem)
 }
 
 void
+tpw_seekstep_reset_clicked_cb (GtkButton *button, Totem *totem)
+{
+	GtkRange *item;
+	item = GTK_RANGE (gtk_builder_get_object (totem->xml, "tpw_forwardseekstep_scale"));
+	gtk_range_set_value (item, SEEK_FORWARD_OFFSET);
+    forward_seekstep = SEEK_FORWARD_OFFSET;
+	item = GTK_RANGE (gtk_builder_get_object (totem->xml, "tpw_backwardseekstep_scale"));
+	gtk_range_set_value (item, SEEK_BACKWARD_OFFSET);
+    backward_seekstep = SEEK_BACKWARD_OFFSET;
+}
+
+void
 audio_out_menu_changed (GtkComboBox *combobox, Totem *totem)
 {
 	BvwAudioOutType audio_out;
