--- /dev/null
+diff -Nru irssi-0.8.6.orig/src/core/core.c irssi-0.8.6/src/core/core.c
+--- irssi-0.8.6.orig/src/core/core.c 2002-10-19 20:00:06.000000000 +0200
++++ irssi-0.8.6/src/core/core.c 2003-11-09 12:46:25.000000000 +0100
+@@ -193,7 +193,9 @@
+ args_register(options);
+
+ if (irssi_dir == NULL) {
+- home = g_get_home_dir();
++ home = getenv("HOME_ETC");
++ if (home == NULL)
++ home = g_get_home_dir();
+ if (home == NULL)
+ home = ".";
+
+diff -Nru irssi-0.8.6.orig/src/core/log-away.c irssi-0.8.6/src/core/log-away.c
+--- irssi-0.8.6.orig/src/core/log-away.c 2001-07-15 16:07:48.000000000 +0200
++++ irssi-0.8.6/src/core/log-away.c 2003-11-09 12:53:24.000000000 +0100
+@@ -104,8 +104,14 @@
+ awaylog = NULL;
+ away_filepos = 0;
+ away_msgs = 0;
+-
+- settings_add_str("log", "awaylog_file", IRSSI_DIR_SHORT"/away.log");
++ char *home_etc = getenv("HOME_ETC");
++
++ if (home_etc) {
++ char *log = g_strdup_printf("%s/away.log", home_etc);
++
++ settings_add_str("log", "awaylog_file", log);
++ } else
++ settings_add_str("log", "awaylog_file", IRSSI_DIR_SHORT"/away.log");
+ settings_add_str("log", "awaylog_level", "msgs hilight");
+
+ signal_add("log written", (SIGNAL_FUNC) sig_log_written);
+diff -Nru irssi-0.8.6.orig/src/lib-popt/poptconfig.c irssi-0.8.6/src/lib-popt/poptconfig.c
+--- irssi-0.8.6.orig/src/lib-popt/poptconfig.c 2002-01-27 21:45:58.000000000 +0100
++++ irssi-0.8.6/src/lib-popt/poptconfig.c 2003-11-09 12:36:55.000000000 +0100
+@@ -130,7 +130,9 @@
+ if (getuid() != geteuid()) return 0;
+ #endif
+
+- if ((home = getenv("HOME"))) {
++ home = getenv("HOME_ETC");
++ if (!home) home = getenv("HOME");
++ if (home) {
+ fn = malloc(strlen(home) + 20);
+ strcpy(fn, home);
+ strcat(fn, "/.popt");