g_signal_connect(G_OBJECT(frame), "scrollbars-policy-changed", G_CALLBACK(vp_frame_scrollbar_policy_changed_cb), NULL);
     g_signal_connect(G_OBJECT(gui->webview), "notify::load-status", G_CALLBACK(vp_webview_load_status_cb), NULL);
     g_signal_connect(G_OBJECT(gui->webview), "load-committed", G_CALLBACK(vp_webview_load_commited_cb), NULL);
-    g_object_set(vp.net.soup_session, "max-conns", SETTING_MAX_CONNS , NULL);
-    g_object_set(vp.net.soup_session, "max-conns-per-host", SETTING_MAX_CONNS_PER_HOST, NULL);
 
     g_object_connect(
         G_OBJECT(gui->inputbox),
         NULL
     );
 #ifdef FEATURE_COOKIE
+    g_object_set(vp.net.soup_session, "max-conns", SETTING_MAX_CONNS , NULL);
+    g_object_set(vp.net.soup_session, "max-conns-per-host", SETTING_MAX_CONNS_PER_HOST, NULL);
     g_signal_connect_after(G_OBJECT(vp.net.soup_session), "request-started", G_CALLBACK(vp_new_request_cb), NULL);
 #endif
 }
 
 #include "util.h"
 
 static gboolean setting_webkit(const Setting* s);
+#ifdef FEATURE_COOKIE
 static gboolean setting_cookie_timeout(const Setting* s);
+#endif
 static gboolean setting_scrollstep(const Setting* s);
 static gboolean setting_status_color_bg(const Setting* s);
 static gboolean setting_status_color_fg(const Setting* s);
     {"user-stylesheet-uri", TYPE_CHAR, setting_webkit, {.s = NULL}},
     {"zoom-step", TYPE_DOUBLE, setting_webkit, {.i = 100}},
     /* internal variables */
+#ifdef FEATURE_COOKIE
     {"cookie-timeout", TYPE_INTEGER, setting_cookie_timeout, {.i = 4800}},
+#endif
     {"scrollstep", TYPE_INTEGER, setting_scrollstep, {.i = 40}},
     {"status-color-bg", TYPE_CHAR, setting_status_color_bg, {.s = "#000"}},
     {"status-color-fg", TYPE_CHAR, setting_status_color_fg, {.s = "#fff"}},
     return TRUE;
 }
 
+#ifdef FEATURE_COOKIE
 static gboolean setting_cookie_timeout(const Setting* s)
 {
     vp.config.cookie_timeout = s->arg.i;
 
     return TRUE;
 }
+#endif
 
 static gboolean setting_scrollstep(const Setting* s)
 {