*fix
diff --git a/plugins/org.eclipse.dltk.ruby.ui/src/org/eclipse/dltk/ruby/internal/ui/text/RubyAutoEditStrategy.java b/plugins/org.eclipse.dltk.ruby.ui/src/org/eclipse/dltk/ruby/internal/ui/text/RubyAutoEditStrategy.java
index 6c480d6..8e8a86d 100644
--- a/plugins/org.eclipse.dltk.ruby.ui/src/org/eclipse/dltk/ruby/internal/ui/text/RubyAutoEditStrategy.java
+++ b/plugins/org.eclipse.dltk.ruby.ui/src/org/eclipse/dltk/ruby/internal/ui/text/RubyAutoEditStrategy.java
@@ -66,7 +66,10 @@
 	private String getApropriateBlockEnding(IDocument d,
 			RubyHeuristicScanner scanner, int offset)
 			throws BadLocationException {
-		int beginning = scanner.findBlockBeginningOffset(offset) - 1;
+		int beginning = scanner.findBlockBeginningOffset(offset);
+		if (beginning == RubyHeuristicScanner.NOT_FOUND)
+			throw new BadLocationException();
+		
 		IRegion line = d.getLineInformationOfOffset(beginning);
 		int ending = Math.min(line.getOffset() + line.getLength(), offset);
 		int token = scanner.previousToken(ending, beginning);