--- ogr.py	2005-09-18 17:26:00.000000000 +0200
+++ /usr/lib/python2.3/site-packages/ogr.py	2006-07-31 12:25:03.000000000 +0200
@@ -1017,17 +1017,28 @@
             self._o = _gdal.OGR_G_CreateGeometry( type )
             self.thisown = 1
         elif wkt:
-            if srs:
-                return CreateGeometryFromWkt(wkt, srs)
+            if srs is None:
+                srs = ''
             else:
-                return CreateGeometryFromWkt(wkt)
+                srs = srs._o
+            _obj  = _gdal.OGR_G_CreateFromWkt(wkt, srs)
+            if _obj is not None and _obj != 'NULL':
+                self._o = _obj
+                self.thisown = 1
         elif wkb:
-            if srs:
-                return CreateGeometryFromWkb(wkb, srs)
+            if srs is None:
+                srs = ''
             else:
-                return CreateGeometryFromWkb(wkb)
+                srs = srs._o
+            _obj = _gdal.OGR_G_CreateFromWkb(wkb, srs)
+            if _obj is not None and _obj != 'NULL':
+                self._o = _obj
+                self.thisown = 1
         elif gml:
-            return CreateGeometryFromGML(gml)
+            _obj =  _gdal.OGR_G_CreateFromGML(gml)
+            if _obj is not None and _obj != 'NULL':
+                self._o = _obj
+                self.thisown = 1
         else:
             raise OGRError, 'OGRGeometry may not be directly instantiated.'
 

