diff --git a/src/bin/eolian_mono/eolian/mono/klass.hh b/src/bin/eolian_mono/eolian/mono/klass.hh
index a98866e34a..46215b95a1 100644
--- a/src/bin/eolian_mono/eolian/mono/klass.hh
+++ b/src/bin/eolian_mono/eolian/mono/klass.hh
@@ -204,7 +204,8 @@ struct klass
if (!as_generator
(
- scope_tab << "/// Constructor to be used when objects are expected to be constructed from native code.\n"
+ scope_tab << "/// Subclasses should override this constructor if they are expected to be instantiated from native code.\n"
+ << scope_tab << "/// Do not call this constructor directly.\n"
<< scope_tab << "/// Tag struct storing the native handle of the object being constructed.\n"
<< scope_tab << "private " << concrete_name << "(ConstructingHandle ch) : base(ch)\n"
<< scope_tab << "{\n"
@@ -511,7 +512,8 @@ struct klass
<< (*(scope_tab << scope_tab << constructor_invocation << "\n"))
<< scope_tab << scope_tab << "FinishInstantiation();\n"
<< scope_tab << "}\n\n"
- << scope_tab << "/// Constructor to be used when objects are expected to be constructed from native code.\n"
+ << scope_tab << "/// Subclasses should override this constructor if they are expected to be instantiated from native code.\n"
+ << scope_tab << "/// Do not call this constructor directly.\n"
<< scope_tab << "/// Tag struct storing the native handle of the object being constructed.\n"
<< scope_tab << "protected " << inherit_name << "(ConstructingHandle ch) : base(ch)\n"
<< scope_tab << "{\n"