diff --git a/ChangeLog b/ChangeLog
index 8ae4374866..53da484080 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue May 20 01:07:19 2008  Yusuke Endoh  <mame@tsg.ne.jp>
+
+	* parse.y (assignable_gen): when "self = 1" was evalueted, unnecessary
+	  error message was output, which might cause null pointer access.
+
 Mon May 19 23:32:12 2008  Koichi Sasada  <ko1@atdot.net>
 
 	* vm.c (invoke_block_from_c): fix call flow.
diff --git a/parse.y b/parse.y
index f8b96fbdce..31694a3717 100644
--- a/parse.y
+++ b/parse.y
@@ -7752,7 +7752,9 @@ assignable_gen(struct parser_params *parser, ID id, NODE *val)
     else if (is_class_id(id)) {
 	return NEW_CVASGN(id, val);
     }
-    compile_error(PARSER_ARG "identifier %s is not valid to set", rb_id2name(id));
+    else {
+	compile_error(PARSER_ARG "identifier %s is not valid to set", rb_id2name(id));
+    }
     return 0;
 }
 
diff --git a/version.h b/version.h
index 5403280e3e..29ddf70ea9 100644
--- a/version.h
+++ b/version.h
@@ -1,7 +1,7 @@
 #define RUBY_VERSION "1.9.0"
-#define RUBY_RELEASE_DATE "2008-05-19"
+#define RUBY_RELEASE_DATE "2008-05-20"
 #define RUBY_VERSION_CODE 190
-#define RUBY_RELEASE_CODE 20080519
+#define RUBY_RELEASE_CODE 20080520
 #define RUBY_PATCHLEVEL 0
 
 #define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
 #define RUBY_VERSION_TEENY 0
 #define RUBY_RELEASE_YEAR 2008
 #define RUBY_RELEASE_MONTH 5
-#define RUBY_RELEASE_DAY 19
+#define RUBY_RELEASE_DAY 20
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];