diff --git a/Modules/md5module.c b/Modules/md5module.c
index 0b150a0..7081706 100644
--- a/Modules/md5module.c
+++ b/Modules/md5module.c
@@ -272,19 +272,21 @@
 	if (!PyArg_ParseTuple(args, "|O:new", &data_obj))
 		return NULL;
 
-	GET_BUFFER_VIEW_OR_ERROUT(data_obj, &view, NULL);
+	if (data_obj)
+		GET_BUFFER_VIEW_OR_ERROUT(data_obj, &view, NULL);
 
 	if ((md5p = newmd5object()) == NULL) {
-		PyBuffer_Release(&view);
+		if (data_obj)
+			PyBuffer_Release(&view);
 		return NULL;
 	}
 
 	if (data_obj) {
 		md5_append(&md5p->md5, (unsigned char*)view.buf,
 		       Py_SAFE_DOWNCAST(view.len, Py_ssize_t, unsigned int));
+		PyBuffer_Release(&view);
 	}
-
-	PyBuffer_Release(&view);
+	
 	return (PyObject *)md5p;
 }
 
diff --git a/Modules/shamodule.c b/Modules/shamodule.c
index e89a1ea..6399b75 100644
--- a/Modules/shamodule.c
+++ b/Modules/shamodule.c
@@ -548,10 +548,12 @@
         return NULL;
     }
 
-    GET_BUFFER_VIEW_OR_ERROUT(data_obj, &view, NULL);
+    if (data_obj)
+        GET_BUFFER_VIEW_OR_ERROUT(data_obj, &view, NULL);
 
     if ((new = newSHAobject()) == NULL) {
-        PyBuffer_Release(&view);
+        if (data_obj)
+            PyBuffer_Release(&view);
         return NULL;
     }
 
@@ -559,15 +561,16 @@
 
     if (PyErr_Occurred()) {
         Py_DECREF(new);
-        PyBuffer_Release(&view);
+        if (data_obj)
+            PyBuffer_Release(&view);
         return NULL;
     }
     if (data_obj) {
         sha_update(new, (unsigned char*)view.buf,
                    Py_SAFE_DOWNCAST(view.len, Py_ssize_t, unsigned int));
+        PyBuffer_Release(&view);
     }
 
-    PyBuffer_Release(&view);
     return (PyObject *)new;
 }
 
