diff --git a/README.html b/README.html
index b4cd8401..d8ee1eba 100644
--- a/README.html
+++ b/README.html
@@ -971,6 +971,7 @@ Files are no longer hosted at LuaForge.
Fix string backing ownership issue when compiling many scripts.
Make LuaC compile state explicit and improve factoring.
Add sample build.gradle file for Android example.
+collectgarbage() now behaves same as collectgarbage("collect") (fixes issue #41).
diff --git a/src/core/org/luaj/vm2/lib/BaseLib.java b/src/core/org/luaj/vm2/lib/BaseLib.java
index 9dd3be98..7121ae94 100644
--- a/src/core/org/luaj/vm2/lib/BaseLib.java
+++ b/src/core/org/luaj/vm2/lib/BaseLib.java
@@ -134,7 +134,7 @@ public class BaseLib extends TwoArgFunction implements ResourceFinder {
// "collectgarbage", // ( opt [,arg] ) -> value
static final class collectgarbage extends VarArgFunction {
public Varargs invoke(Varargs args) {
- String s = args.checkjstring(1);
+ String s = args.optjstring(1, "collect");
if ( "collect".equals(s) ) {
System.gc();
return ZERO;