diff --git a/src/makefiles/Makefile.win b/src/makefiles/Makefile.win
index 626432b4351cdfdb68b4b4f47660af90e03e16da..7fce66b1acef95eba0b0c86a8c60a55eaa432574 100644
--- a/src/makefiles/Makefile.win
+++ b/src/makefiles/Makefile.win
@@ -1,4 +1,4 @@
-# $Header: /cvsroot/pgsql/src/makefiles/Attic/Makefile.win,v 1.12 2001/05/25 14:28:58 momjian Exp $
+# $Header: /cvsroot/pgsql/src/makefiles/Attic/Makefile.win,v 1.13 2001/05/25 15:48:33 momjian Exp $
 LDFLAGS+= -g
 DLLTOOL= dlltool
 DLLWRAP= dllwrap
@@ -28,4 +28,8 @@ ifeq ($(findstring ecpg/lib,$(subdir)), ecpg/lib)
 override CPPFLAGS+= -DBUILDING_DLL=1
 endif
 
+ifeq ($(findstring src/pl/plpython,$(subdir)), src/pl/plpython)
+override CPPFLAGS+= -DUSE_DL_IMPORT
+endif
+
 override javadir := '$(shell cygpath -w $(javadir))'
diff --git a/src/pl/plpython/Makefile b/src/pl/plpython/Makefile
index 7475cdc1e7e4a68d5740cc893453a71d8b920846..d8ae12f16597d0ec0b817bb1455fb73040f55bdf 100644
--- a/src/pl/plpython/Makefile
+++ b/src/pl/plpython/Makefile
@@ -1,4 +1,4 @@
-# $Header: /cvsroot/pgsql/src/pl/plpython/Makefile,v 1.6 2001/05/14 22:06:50 petere Exp $
+# $Header: /cvsroot/pgsql/src/pl/plpython/Makefile,v 1.7 2001/05/25 15:48:33 momjian Exp $
 
 subdir = src/pl/plpython
 top_builddir = ../../..
@@ -7,6 +7,8 @@ include $(top_builddir)/src/Makefile.global
 
 override CPPFLAGS := -I$(srcdir) -I$(python_includedir) $(CPPFLAGS)
 
+override DLLLIBS := $(BE_DLLLIBS) $(DLLLIBS)
+
 NAME = plpython
 SO_MAJOR_VERSION = 0
 SO_MINOR_VERSION = 0
diff --git a/src/pl/plpython/feature.expected b/src/pl/plpython/feature.expected
index eb2944793073c84d69bce63d246e5b37d995c330..b689c1f6154994c1a667aab9a915f221d9205aac 100644
--- a/src/pl/plpython/feature.expected
+++ b/src/pl/plpython/feature.expected
@@ -29,7 +29,7 @@ SELECT global_test_two();
 (1 row)
 
 SELECT import_fail();
-NOTICE:  ('import socket failed -- untrusted dynamic module: socket',)
+NOTICE:  ('import socket failed -- untrusted dynamic module: _socket',)
     import_fail     
 --------------------
  failed as expected
diff --git a/src/pl/plpython/plpython.c b/src/pl/plpython/plpython.c
index 865ddb3aac6f3712841b343e3ade7a38271ee3fa..dea0dc285f894a1f1cace279fa402eb623203647 100644
--- a/src/pl/plpython/plpython.c
+++ b/src/pl/plpython/plpython.c
@@ -1,4 +1,4 @@
-/* $Header: /cvsroot/pgsql/src/pl/plpython/plpython.c,v 1.2 2001/05/12 01:30:30 petere Exp $ */
+/* $Header: /cvsroot/pgsql/src/pl/plpython/plpython.c,v 1.3 2001/05/25 15:48:33 momjian Exp $ */
 
 /*
  * plpython.c - python as a procedural language for PostgreSQL
@@ -1534,7 +1534,7 @@ static PyObject *PLy_spi_execute_fetch_result(SPITupleTable *, int, int);
 
 
 PyTypeObject PLy_PlanType = {
-  PyObject_HEAD_INIT(&PyType_Type)
+  PyObject_HEAD_INIT(NULL)
   0,                               /*ob_size*/
   "PLyPlan",                       /*tp_name*/
   sizeof(PLyPlanObject),           /*tp_size*/
@@ -1577,7 +1577,7 @@ PySequenceMethods PLy_result_as_sequence = {
 };
 
 PyTypeObject PLy_ResultType = {
-  PyObject_HEAD_INIT(&PyType_Type)
+  PyObject_HEAD_INIT(NULL)
   0,                                 /*ob_size*/
   "PLyResult",                       /*tp_name*/
   sizeof(PLyResultObject),           /*tp_size*/
@@ -2287,6 +2287,7 @@ PLy_init_plpy(void)
 
   /* initialize plpy module
    */
+  PLy_PlanType.ob_type = PLy_ResultType.ob_type = &PyType_Type;
   plpy = Py_InitModule("plpy", PLy_methods);
   plpy_dict = PyModule_GetDict(plpy);