diff --git a/.gitattributes b/.gitattributes
index e66e006af5..984ac36a82 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -5867,6 +5867,7 @@ lcl/interfaces/gtk2/gtk2debug.pp svneol=native#text/pascal
lcl/interfaces/gtk2/gtk2def.pp svneol=native#text/pascal
lcl/interfaces/gtk2/gtk2defines.inc svneol=native#text/plain
lcl/interfaces/gtk2/gtk2devicecontext.inc svneol=native#text/pascal
+lcl/interfaces/gtk2/gtk2disableliboverlay.pas svneol=native#text/plain
lcl/interfaces/gtk2/gtk2extra.inc svneol=native#text/pascal
lcl/interfaces/gtk2/gtk2extra.pp svneol=native#text/pascal
lcl/interfaces/gtk2/gtk2extrah.inc svneol=native#text/pascal
diff --git a/lcl/interfaces/gtk2/gtk2disableliboverlay.pas b/lcl/interfaces/gtk2/gtk2disableliboverlay.pas
new file mode 100644
index 0000000000..ed0d178f3a
--- /dev/null
+++ b/lcl/interfaces/gtk2/gtk2disableliboverlay.pas
@@ -0,0 +1,20 @@
+unit gtk2DisableLibOverlay;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+ Classes, SysUtils;
+
+implementation
+
+uses
+ ctypes;
+
+function setenv(name, value: PChar; replace: cint): cint; cdecl; external 'c';
+
+initialization
+ setenv('LIBOVERLAY_SCROLLBAR', '0', 1);
+end.
+
diff --git a/lcl/interfaces/gtk2/interfaces.pas b/lcl/interfaces/gtk2/interfaces.pas
index c5be17da9e..ea9a43f9f7 100644
--- a/lcl/interfaces/gtk2/interfaces.pas
+++ b/lcl/interfaces/gtk2/interfaces.pas
@@ -33,7 +33,10 @@ uses
implementation
-uses
+uses
+ {$IFNDEF EnableLibOverlay}
+ gtk2DisableLibOverlay,
+ {$ENDIF}
Gtk2Int, Forms;
initialization
diff --git a/lcl/interfaces/lcl.lpk b/lcl/interfaces/lcl.lpk
index 725c1a8776..0b1afa4d8c 100644
--- a/lcl/interfaces/lcl.lpk
+++ b/lcl/interfaces/lcl.lpk
@@ -121,7 +121,7 @@ end;"/>
-
+
@@ -1987,6 +1987,11 @@ end;"/>
+
+
+
+
+