diff -ru /mnt/dvd/svn/gstreamer-cvs/gst-plugins-ugly/ext/dvdread/dvdreadsrc.c OLD/gst-plugins-ugly/ext/dvdread/dvdreadsrc.c
--- /mnt/dvd/svn/gstreamer-cvs/gst-plugins-ugly/ext/dvdread/dvdreadsrc.c	2008-02-18 05:16:44.000000000 +0000
+++ OLD/gst-plugins-ugly/ext/dvdread/dvdreadsrc.c	2008-06-18 21:51:12.000000000 +0100
@@ -620,10 +620,17 @@
   if (pgc->cell_playback[cell].block_type != BLOCK_TYPE_ANGLE_BLOCK)
     return (cell + 1);
 
+#if 1
+  ++cell;
+  while (pgc->cell_playback[cell].block_mode == BLOCK_MODE_LAST_CELL)
+    ++cell;
+  return cell;
+#else
   while (pgc->cell_playback[cell].block_mode == BLOCK_MODE_LAST_CELL)
     ++cell;
 
   return cell + 1;              /* really +1? (tpm) */
+#endif
 }
 
 /* Returns true if the pack is a NAV pack */
