diff --git a/apps/openmw/mwgui/container.cpp b/apps/openmw/mwgui/container.cpp
index 65a9e07c4..f0212031e 100644
--- a/apps/openmw/mwgui/container.cpp
+++ b/apps/openmw/mwgui/container.cpp
@@ -195,15 +195,6 @@ namespace MWGui
     {
         if (mPtr.getTypeName() == typeid(ESM::Container).name())
         {
-            // check that we don't exceed container capacity
-            MWWorld::Ptr item = mDragAndDrop->mItem.mBase;
-            float weight = item.getClass().getWeight(item) * mDragAndDrop->mDraggedCount;
-            if (mPtr.getClass().getCapacity(mPtr) < mPtr.getClass().getEncumbrance(mPtr) + weight)
-            {
-                MWBase::Environment::get().getWindowManager()->messageBox("#{sContentsMessage3}");
-                return;
-            }
-
             // check container organic flag
             MWWorld::LiveCellRef<ESM::Container>* ref = mPtr.get<ESM::Container>();
             if (ref->mBase->mFlags & ESM::Container::Organic)
@@ -212,6 +203,15 @@ namespace MWGui
                     messageBox("#{sContentsMessage2}");
                 return;
             }
+
+            // check that we don't exceed container capacity
+            MWWorld::Ptr item = mDragAndDrop->mItem.mBase;
+            float weight = item.getClass().getWeight(item) * mDragAndDrop->mDraggedCount;
+            if (mPtr.getClass().getCapacity(mPtr) < mPtr.getClass().getEncumbrance(mPtr) + weight)
+            {
+                MWBase::Environment::get().getWindowManager()->messageBox("#{sContentsMessage3}");
+                return;
+            }
         }
 
         mDragAndDrop->drop(mModel, mItemView);