diff --git a/dlls/msi/table.c b/dlls/msi/table.c
index 3fa883814919d0e30d0c8a88c5d079af2dd8fc5b..fb414a2f9b4d789f934852bdd31f41f9c3b500a1 100644
--- a/dlls/msi/table.c
+++ b/dlls/msi/table.c
@@ -1981,7 +1981,12 @@ static UINT msi_table_load_transform( MSIDATABASE *db, IStorage *stg,
     MSIRECORD *rec = NULL;
     UINT colcol = 0;
     WCHAR coltable[32];
-    LPWSTR name = transform->name;
+    LPWSTR name;
+
+    if (!transform)
+        return ERROR_SUCCESS;
+
+    name = transform->name;
 
     coltable[0] = 0;
     TRACE("%p %p %p %s\n", db, stg, st, debugstr_w(name) );