diff --git a/indra/newview/llfloaterhowto.cpp b/indra/newview/llfloaterhowto.cpp
index 6e913b08eab0c406a07add26e1f63b02646d9f4b..2bd2c47dd734fa8339e1b28056f21185bc11a28d 100644
--- a/indra/newview/llfloaterhowto.cpp
+++ b/indra/newview/llfloaterhowto.cpp
@@ -83,3 +83,16 @@ LLFloaterHowTo* LLFloaterHowTo::getInstance()
 {
     return LLFloaterReg::getTypedInstance<LLFloaterHowTo>("how_to");
 }
+
+BOOL LLFloaterHowTo::handleKeyHere(KEY key, MASK mask)
+{
+	BOOL handled = FALSE;
+
+	if (KEY_F1 == key )
+	{
+		closeFloater();
+		handled = TRUE;
+	}
+
+	return handled;
+}
diff --git a/indra/newview/llfloaterhowto.h b/indra/newview/llfloaterhowto.h
index fa1d9cace0040020dc9730ab110ca95631f2f840..c2703d815bb543740a5b82b43736926cf5c46ac5 100644
--- a/indra/newview/llfloaterhowto.h
+++ b/indra/newview/llfloaterhowto.h
@@ -44,6 +44,8 @@ class LLFloaterHowTo :
 
     void onOpen(const LLSD& key) override;
 
+    virtual BOOL handleKeyHere(KEY key, MASK mask);
+
     static LLFloaterHowTo* getInstance();
 
     bool matchesKey(const LLSD& key) override { return true; /*single instance*/ };