diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c
index 3072cfdee9598f3d44d91703c2ad92ef48a1af34..7b87707acc361b379682d579e983d26c2ed9428b 100644
--- a/fs/reiserfs/journal.c
+++ b/fs/reiserfs/journal.c
@@ -2631,6 +2631,8 @@ static int do_journal_begin_r(struct reiserfs_transaction_handle *th, struct sup
   int retval;
 
   reiserfs_check_lock_depth(p_s_sb, "journal_begin") ;
+  if (nblocks > journal->j_trans_max)
+	BUG();
 
   PROC_INFO_INC( p_s_sb, journal.journal_being );
   /* set here for journal_join */