diff --git a/src/kits/network/libnetapi/GopherRequest.cpp b/src/kits/network/libnetapi/GopherRequest.cpp
index 26866182db..cbfaa61882 100644
--- a/src/kits/network/libnetapi/GopherRequest.cpp
+++ b/src/kits/network/libnetapi/GopherRequest.cpp
@@ -405,6 +405,7 @@ BGopherRequest::_ParseInput(bool last)
fprintf(stderr, "type: '%c' name: '%s'\n", type, fields.StringAt(FIELD_NAME).String());
//fields.PrintToStream();
+ BString pageTitle;
BString item;
BString title = fields.StringAt(FIELD_NAME);
BString link("gopher://");
@@ -449,6 +450,19 @@ BGopherRequest::_ParseInput(bool last)
case GOPHER_TYPE_ERROR:
item << "" << title << ""
"
\n";
+ if (fPosition == 0 && pageTitle.Length() == 0)
+ pageTitle << "Error: " << title;
+ break;
+ case GOPHER_TYPE_INFO:
+ // TITLE resource, cf.
+ // gopher://gophernicus.org/0/doc/gopher/gopher-title-resource.txt
+ if (fPosition == 0 && pageTitle.Length() == 0
+ && fields.StringAt(FIELD_SELECTOR) == "TITLE") {
+ pageTitle = title;
+ break;
+ }
+ item << "" << title << ""
+ "
\n";
break;
default:
item << "