diff --git a/source/blender/python/BPY_interface.c b/source/blender/python/BPY_interface.c
index ee318ddaca720f71784eab16d82b5fac7b3d2216..5f978b2e8d61f64eef3fe9030421f67ab19b0afa 100644
--- a/source/blender/python/BPY_interface.c
+++ b/source/blender/python/BPY_interface.c
@@ -997,7 +997,11 @@ int BPY_has_onload_script( void )
 
 void BPY_do_pyscript( ID * id, short event )
 {
-	ScriptLink *scriptlink = ID_getScriptlink( id );
+	ScriptLink *scriptlink;
+
+	if( !id ) return;
+
+	scriptlink = ID_getScriptlink( id );
 
 	if( scriptlink && scriptlink->totscript ) {
 		PyObject *dict;
diff --git a/source/blender/python/api2_2x/Material.c b/source/blender/python/api2_2x/Material.c
index 833bd16a00895a3871235d2431a4717428bcd94c..01e91cbb0b3921f4ed34de9e0657d6cbf2e685bb 100644
--- a/source/blender/python/api2_2x/Material.c
+++ b/source/blender/python/api2_2x/Material.c
@@ -25,7 +25,8 @@
  *
  * This is a new part of Blender.
  *
- * Contributor(s): Willian P. Germano, Michel Selten, Alex Mole
+ * Contributor(s): Willian P. Germano, Michel Selten, Alex Mole,
+ * Alexander Szakaly
  *
  * ***** END GPL/BL DUAL LICENSE BLOCK *****
 */
@@ -2194,6 +2195,8 @@ Material **EXPP_newMaterialList_fromPyList( PyObject * list )
 	len = PySequence_Length( list );
 	if( len > 16 )
 		len = 16;
+	else if( len <= 0 )
+		return NULL;
 
 	matlist = EXPP_newMaterialList( len );
 
diff --git a/source/blender/python/api2_2x/NMesh.c b/source/blender/python/api2_2x/NMesh.c
index 38d189e007feb083bbcea0a1344ab2ed135d5e57..f08882ebcc1ecf5392565a5259824778cde9f000 100644
--- a/source/blender/python/api2_2x/NMesh.c
+++ b/source/blender/python/api2_2x/NMesh.c
@@ -26,7 +26,7 @@
  * This is a new part of Blender.
  *
  * Contributor(s): Willian P. Germano, Jordi Rovira i Bonet, Joseph Gilbert,
- * Bala Gi
+ * Bala Gi, Alexander Szakaly
  *
  * ***** END GPL/BL DUAL LICENSE BLOCK *****
  */
@@ -2045,6 +2045,7 @@ void EXPP_unlink_mesh( Mesh * me )
 			me->mat[a]->id.us--;
 		me->mat[a] = 0;
 	}
+
 /*	... here we want to preserve mesh keys */
 /* if users want to get rid of them, they can use mesh.removeAllKeys() */
 /*
@@ -2053,6 +2054,8 @@ void EXPP_unlink_mesh( Mesh * me )
 */
 	if( me->texcomesh )
 		me->texcomesh = 0;
+
+	me->totcol = 0;
 }
 
 static int unlink_existingMeshData( Mesh * mesh )